我有List
个对象List
long
。我需要获取所有long
个所有对象并将其加入一个唯一列表。
如何使用System.Linq
?
这实际上是我的代码(使用此代码,我获得了List
List
long
}
var result = LIST1.Select(x => x.LIST2.Select(y => y.Id).ToList()).Tolist();
答案 0 :(得分:8)
这会使您的列表变得扁平化,然后对其进行区分
LIST1.SelectMany(a => a.LIST2.Select(b => b.Id)).Distinct();
答案 1 :(得分:2)
使用selectMany而不是Select
var result = LIST1.SelectMany(x => x.LIST2.Select(y => y.Id)).Tolist();
答案 2 :(得分:0)
如果您需要加入对象列表或者需要将所有对象联合起来,请不要使用它,但是对于加入,您可以使用:
var result = (from Item1 in LIST1
join Item2 in LIST2
on Item1.Id equals Item2.Id
select new { Item1, Item2 }).ToList();