zoukankan      html  css  js  c++  java
  • C#linq计算总条数并去重复的写法

    一,在实际需求中我们会存在选出了一个集合,而这时我们需要通过集合的某几个字段来计算重复,和统计重复的数量,这时我们可以用到linq来筛选和去重复。

    二,如下代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Bao
    {
        class Program
        {
            static void Main(string[] args)
            {
                List<Demo> result = new List<Demo>();
                result.Add(new Demo()
                {
                    Name = "1",
                    Pro = "1",
                    Code = "1"
                });
                result.Add(new Demo()
                {
                    Name = "1",
                    Pro = "1",
                    Code = "1"
                });
                result.Add(new Demo()
                {
                    Name = "2",
                    Pro = "2",
                    Code = "3"
                });
                result.Add(new Demo()
                {
                    Name = "3",
                    Pro = "3",
                    Code = "3"
                });
                result.Add(new Demo()
                {
                    Name = "4",
                    Pro = "4",
                    Code = "4"
                });
                var test = from a in result
                           select new
                           {
                               SchoolName = a.Name,
                               Province = a.Pro,
                               SchoolCode = a.Code,
                               counts = (from t in result
                                         where t.Name == a.Name && t.Pro == a.Pro && t.Code == a.Code
                                         group t by new { Name = t.Name, Pro = t.Pro, Code = t.Code } into g
                                         select new { counts = g.Count() }
                                         ).FirstOrDefault().counts
                           };
                var ttt = test.ToList();
                var aaa = ttt.Distinct().ToList();
            }
        }
        public class Demo
        {
            public string Code { get; set; }
            public string Name { get; set; }
            public string Pro { get; set; }
            public int counts { get; set; }
        }
    }
  • 相关阅读:
    Revit 二次开发参照属性
    存储过程分页 (多条件拼接)
    Dapper的使用
    C#实现简单的邮件发送
    ORM 简介
    Web Services简介
    事物、锁、存储过程
    游标和触发器简介
    ASP.NET 上传文件方法
    C# Web API 实现上传功能
  • 原文地址:https://www.cnblogs.com/May-day/p/8892482.html
Copyright © 2011-2022 走看看