Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LINQ查询中无法识别组方法_C#_Linq_Linq To Objects - Fatal编程技术网

C# LINQ查询中无法识别组方法

C# LINQ查询中无法识别组方法,c#,linq,linq-to-objects,C#,Linq,Linq To Objects,LINQ新手在使用分组时遇到问题。我试图查询一个名为dosesWithHighestScore的IEnumerable 我遵循这个例子: 这是我的密码: var doseWithLowestVolumeForForm = from d in dosesWithHighestScore group d by d.formulation.form into g select new {

LINQ新手在使用分组时遇到问题。我试图查询一个名为dosesWithHighestScore的IEnumerable

我遵循这个例子:

这是我的密码:

    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”的定义,并且找不到接受“System.Linq.IGrouping”类型的第一个参数的扩展方法“Group”(是否缺少using指令或程序集引用?)

以下是我的用法:

using System;
using System.Text;
using System.Linq;
using System.Xml.Linq;
using System.Collections.Generic;
using System.Collections;

为什么我会出现这个错误?

您可以去掉分配给
低剂量
组中的
术语。在LINQ to对象中,组本身就是一个
IEnumerable
,因此您可以对其应用其他LINQ操作,而无需任何附加限定符。
i分组
上提供了
属性,因此您可以访问分组所依据的值。。。嗯,分组

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)
        };

网站上显示使用
属性的示例不正确。

您可以在分配给
低剂量
的任务中删除
术语。在LINQ to对象中,组本身就是一个
IEnumerable
,因此您可以对其应用其他LINQ操作,而无需任何附加限定符。
i分组
上提供了
属性,因此您可以访问分组所依据的值。。。嗯,分组

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)
        };

网站上显示使用
属性的示例不正确。

编译-谢谢!那么,还有一个后续问题:我如何访问结果?我原以为我可以用最小的卷执行DosesForm[0]之类的操作。表单,但这不起作用。LINQ语句的结果是一个查询对象。。。不是数组。有不同的方式访问结果-这取决于你想用它们做什么。一种常见的方法是使用
foreach
循环来评估每个结果;如:
foreach(doseWithLowestVolumeForForm中的var项){…}
。或者,如果您只对第一个结果感兴趣,可以执行:
dosewithlowervolumeforform.first()
,这将在查询中返回第一个结果。还有其他选择。。。但是,同样,这取决于你需要对结果做什么。这会编译-谢谢!那么,还有一个后续问题:我如何访问结果?我原以为我可以用最小的卷执行DosesForm[0]之类的操作。表单,但这不起作用。LINQ语句的结果是一个查询对象。。。不是数组。有不同的方式访问结果-这取决于你想用它们做什么。一种常见的方法是使用
foreach
循环来评估每个结果;如:
foreach(doseWithLowestVolumeForForm中的var项){…}
。或者,如果您只对第一个结果感兴趣,可以执行:
dosewithlowervolumeforform.first()
,这将在查询中返回第一个结果。还有其他选择。。。但是,同样,这取决于你需要对结果做什么。