LINQ-newb在使用分组时遇到问题。我正在尝试查询名为doseWithHighestScore的IEnumerable。
我正在关注这个例子: http://msdn.microsoft.com/en-us/vcsharp/aa336747.aspx#minGrouped
这是我的代码:
var doseWithLowestVolumeForForm =
from d in dosesWithHighestScore
group d by d.formulation.form into g
select new {
Form = g.Key,
LowDose = g.Group.Min(d => d.doseAdministrableAmount)
};
使用“群组”导致此错误:
'System.Linq.IGrouping'不包含'Group'的定义,并且没有扩展方法'Group'接受类型'System.Linq.IGrouping'的第一个参数可以找到(你是否缺少using指令或汇编参考?)
以下是我的用法:
using System;
using System.Text;
using System.Linq;
using System.Xml.Linq;
using System.Collections.Generic;
using System.Collections;
为什么我收到此错误?
答案 0 :(得分:3)
您在Group
的作业中摆脱了LowDose
这个词。在LINQ-to-objects中,组本身是IEnumerable<>
,因此您可以在不使用任何其他限定符的情况下对其应用其他LINQ操作。 Key
在IGrouping
上提供了var doseWithLowestVolumeForForm =
from d in dosesWithHighestScore
group d by d.formulation.form into g
select new {
Form = g.Key,
LowDose = g.Min(d => d.doseAdministrableAmount)
};
属性,以便您可以访问该组的值......好了,已分组。
Group
网站上显示使用{{1}}属性的示例不正确。