繁体   English   中英

c#使用Select Linq语句?

[英]c# Using Select Linq statements?

我有IEnumerable<dynamic> Rows对象,它具有5个属性(列)和100行。 属性/列之一是Group ,在100行中只有2个不同的组,因此我首先对其进行了不同的处理:

IEnumerable<dynamic> Groups = Rows.Select(x => x.Group).Distinct();

这有效,没有错误。

然后,我想回到我的Rows对象并遍历它们,其中该组= Rows的组,如下所示:

foreach (string Group in Groups)
{
    IEnumerable<dynamic> GroupData = 
       from rowdata in Rows
       where rowdata.Group = @Group 
       select rowdata;

但我在最后一行收到此错误:

'WebMatrix.Data.DynamicRecord' does not contain a definition for 'Group'

有人知道为什么这行不通吗?

当然可以用另一种方式来做,但我想改用c#select语句。 我怎么可以


编辑以显示用法:

    foreach (var row in GroupData){
       string ThisGroup = row.Group
    }
     ...

不用选择两次,而是对Group值进行Group

IEnumerable<IGrouping<string, dynamic>> groups = Rows.GroupBy(x => (string)x.Group);

现在您可以遍历结果:

foreach (IGrouping<string, dynamic> group in groups) {
  ...
}

IGrouping<>对象具有一个Key属性,该属性是您分组的值,也是该组中值的集合。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM