如何使用 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();