如何使用 Linq 加入唯一列表中的列表列表
How to join a list of lists in a unique list using Linq
我有 List
个对象 List
long
。我需要获取所有对象的所有 long
并将其加入一个唯一列表。
如何使用 System.Linq
?
这实际上是我的代码(使用此代码我得到 List
of List
of long
)
var result = LIST1.Select(x => x.LIST2.Select(y => y.Id).ToList()).Tolist();
这会展平您的列表,然后对其进行区分
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();
我有 List
个对象 List
long
。我需要获取所有对象的所有 long
并将其加入一个唯一列表。
如何使用 System.Linq
?
这实际上是我的代码(使用此代码我得到 List
of List
of long
)
var result = LIST1.Select(x => x.LIST2.Select(y => y.Id).ToList()).Tolist();
这会展平您的列表,然后对其进行区分
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();