C# 如何使用Linq在唯一列表中加入列表列表
我有一个C# 如何使用Linq在唯一列表中加入列表列表,c#,linq,C#,Linq,我有一个列表,对象的列表为长。我需要获取所有对象的所有long,并将其加入到唯一列表中。 如何使用System.Linq执行此操作 这实际上是我的代码(使用此代码,我得到一个列表的列表的长的) 这会使你的列表变平,然后在上面做一个明显的调整 LIST1.SelectMany(a => a.LIST2.Select(b => b.Id)).Distinct(); 使用selectMany而不是Select var result = LIST1.SelectMany(x => x
列表
,对象的列表
为长
。我需要获取所有对象的所有long
,并将其加入到唯一列表中。
如何使用System.Linq
执行此操作
这实际上是我的代码(使用此代码,我得到一个列表的列表的长的)
这会使你的列表变平,然后在上面做一个明显的调整
LIST1.SelectMany(a => a.LIST2.Select(b => b.Id)).Distinct();
使用selectMany而不是Select
var result = LIST1.SelectMany(x => x.LIST2.Select(y => y.Id)).Tolist();
如果您需要合并对象列表或需要合并所有对象,请不要获取它,但对于“合并”,您可以使用:
var result = (from Item1 in LIST1
join Item2 in LIST2
on Item1.Id equals Item2.Id
select new { Item1, Item2 }).ToList();
SelectMany
是您所需要的。的可能重复项
var result = (from Item1 in LIST1
join Item2 in LIST2
on Item1.Id equals Item2.Id
select new { Item1, Item2 }).ToList();