我有4个列表,像这样:
List <Emp> l1 = new List<Emp>();
List <Emp> l2 = new List<Emp>();
List <Emp> l3 = new List<Emp>();
List <Emp> l4 = new List<Emp>();
Run Code Online (Sandbox Code Playgroud)
Emp有一个名为的属性id,如何获得所有四个列表中存在的所有不同ID的列表?
你需要MoreLinq为DistinctBy:
IEnumrable<Emp> uniqueEmps = l1.Concat(l2).Concat(l3).Concat(l4)
.DistinctBy(e => e.id);
Run Code Online (Sandbox Code Playgroud)
对于Id的:
IEnumrable<int> uniqueIds = l1.Concat(l2).Concat(l3).Concat(l4)
.Select(e => e.id).Distinct();
Run Code Online (Sandbox Code Playgroud)
如何获得所有四个列表中所有不同ID的列表?
如果要查找ID列表(而不是Emp具有这些ID的对象),可以使用简单查询来执行此操作:
var ids = l1.Concat(l2).Concat(l3).Concat(l4).Select(e => e.Id).Distinct();
Run Code Online (Sandbox Code Playgroud)