list对象中根据两个参数过滤数据
List<demo> list = new List<demo>() { new demo(){ a = 1,b=2,c=3,d=4 }, new demo(){ a = 3,b=2,c=4,d=3 }, new demo(){ a = 1,b=2,c=4,d=3 }, new demo(){ a = 2,b=1,c=3,d=4 }, new demo(){ a = 4,b=1,c=3,d=4 }, new demo(){ a = 2,b=1,c=4,d=4 } }; List<demo> list2 = new List<demo>(); for (int i = 0; i < list.Count; i++) { var l = list.Where(n => n.a == list[i].a && n.b == list[i].b).ToList(); if (l.Count >= 1) { if (list2.FirstOrDefault(h => h.a == l[0].a && h.b == l[0].b) == null) { list2.Add(l[0]); } } } foreach (var item in list2) { Console.WriteLine(item.a + "|" + item.b + "|" + item.c + "|" + item.d); }