繁体   English   中英

LINQ查询中无法识别组方法

[英]Group method not recognized in LINQ query

LINQ-newb无法使用分组。 我正在尝试查询一个名为doseWithWithHighestScore的IEnumerable。

我正在关注以下示例: http : //msdn.microsoft.com/zh-cn/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;

为什么会出现此错误?

在分配给LowDose ,您无需使用Group术语。 在LINQ-to-objects中,组本身就是IEnumerable<> ,因此您可以对其应用其他LINQ操作,而无需任何其他限定符。 IGrouping上提供了Key属性,以便您可以访问对分组进行分组的值。

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属性的示例不正确。

暂无
暂无

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

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