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

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄