码迷,mamicode.com
首页 > Windows程序 > 详细

C#linq计算总条数并去重复的写法

时间:2018-04-20 18:55:34      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:ati   static   count   names   .text   add   sys   class   aaa   

一,在实际需求中我们会存在选出了一个集合,而这时我们需要通过集合的某几个字段来计算重复,和统计重复的数量,这时我们可以用到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; }
    }
}

 

C#linq计算总条数并去重复的写法

标签:ati   static   count   names   .text   add   sys   class   aaa   

原文地址:https://www.cnblogs.com/May-day/p/8892482.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!