-1

我有一个包含多个“列”数据的 IEnumerable。我只想从一列中获取所有不同的值并将其分配给 SelectList。

我尝试过使用诸如 SelectMany、Select 和 Distinct 之类的 LINQ 表达式,但我对 LINQ 不是很精通,而且我只是在黑暗中摸索。是否有捷径可寻?

4

2 回答 2

7

您可以结合使用 Select 和 Distinct。

首先,使用 Select 选择所需的值。接下来,使用 Distinct 仅采用不同的值。

为简单起见,这些可以像这样链接:

var selectListData = srcEnumerable.Select(x => x.DesiredField).Distinct();
于 2013-05-31T17:16:48.567 回答
1

作为吉姆的答案,您可以使用 select 和 distinct。但是您可以通过在一次调用中使用morelinq(LINQ 到对象的扩展)来做到这一点,如下所示

var list1 = products.DistinctBy(x=> x.Code);
于 2013-05-31T17:29:29.023 回答