我有一个包含多个“列”数据的 IEnumerable。我只想从一列中获取所有不同的值并将其分配给 SelectList。
我尝试过使用诸如 SelectMany、Select 和 Distinct 之类的 LINQ 表达式,但我对 LINQ 不是很精通,而且我只是在黑暗中摸索。是否有捷径可寻?
您可以结合使用 Select 和 Distinct。
首先,使用 Select 选择所需的值。接下来,使用 Distinct 仅采用不同的值。
为简单起见,这些可以像这样链接:
var selectListData = srcEnumerable.Select(x => x.DesiredField).Distinct();
作为吉姆的答案,您可以使用 select 和 distinct。但是您可以通过在一次调用中使用morelinq(LINQ 到对象的扩展)来做到这一点,如下所示
var list1 = products.DistinctBy(x=> x.Code);