一,在實際需求中我們會存在選出了一個集合,而這時我們需要通過集合的某幾個字段來計算重復,和統計重復的數量,這時我們可以用到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; } } }