LINQ查询中无法识别组方法

时间:2010-01-18 03:41:56

标签: c# linq linq-to-objects

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;

为什么我收到此错误?

1 个答案:

答案 0 :(得分:3)

您在Group的作业中摆脱了LowDose这个词。在LINQ-to-objects中,组本身是IEnumerable<>,因此您可以在不使用任何其他限定符的情况下对其应用其他LINQ操作。 KeyIGrouping上提供了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}}属性的示例不正确。