【发布时间】:2015-03-19 12:15:56
【问题描述】:
我认为我需要的内容相对简单,但我在 Google 上搜索的每个示例都只是使用 First() 返回结果,我已经在这样做了。这是我的表达:
var options = configData.AsEnumerable().GroupBy(row => row["myColumn"]).Select(grp => grp.First());
我只需要grp 部分中的一列,并且能够在其中添加.ToList() 后缀而不会出现错误。就目前而言,我收到 4 列,但只需要一个特定的列,就像 (grp => grp["myColumn"]) 没有导致错误错误 153 Cannot apply indexing with [] to an expression of type 'System.Linq.IGrouping<object,System.Data.DataRow>'
此外,Key 在分组部分中不起作用,因为这些结果来自 DataTable 对象。看这里->
【问题讨论】:
-
configData.AsEnumerable().GroupBy(row => row["myColumn"]).Select(grp => grp.Key).ToList();不适合你吗? -
分组后有多个组,每个组有一个键和组项。您的单列是组键吗?如果不是,由于您在每个组中有多个项目,您将选择组中的哪个项目的列?