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; }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM