[英]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.