C# 用lambda取List中重复的部分,name重复就算重复

.Net技术 码拜 4年前 (2016-02-26) 193次浏览
如题,有没有高手用简单的办法取出,要不那种两层循环来取得,先谢过
解决方案

30

list.GroupBy(p=>p.Name).Where(g=>g.Count()>1)

然后循环一次就可以了

10

2楼正解

public static void Main(string[] args)
        {
            List<Test> t = new List<Test>() { 
                new Test(){id=1,name="车辆"},
                new Test(){id=2,name="车辆"},
                new Test(){id=3,name="飞机"},
                new Test(){id=4,name="火车"},
                new Test(){id=4,name="火车"},
            };
            var q = t.GroupBy(x => x.name).Where(x => x.Count() > 1).ToList();
            foreach (var item in q)
            {
                Console.WriteLine(item.Key);
            }
            Console.ReadLine();
        }

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C# 用lambda取List中重复的部分,name重复就算重复
喜欢 (0)
[1034331897@qq.com]
分享 (0)