0
LINQ-newb在使用分組時遇到問題。我試圖查詢一個名爲doseWithHighestScore的IEnumerable。在LINQ查詢中未識別的組方法
我下面這個例子: 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'的定義,並且沒有可以找到接受類型'System.Linq.IGrouping'的第一個參數的擴展方法'Group'(您是否缺少using指令或程序集引用?)
個這裏是我的usings:
using System;
using System.Text;
using System.Linq;
using System.Xml.Linq;
using System.Collections.Generic;
using System.Collections;
爲什麼會出現這個錯誤?
編譯 - 謝謝!所以,還有一個後續問題:我如何訪問結果?我以爲我可以做些像doseWithLowestVolumeForForm [0] .Form的東西,但這不起作用。 – Marvin 2010-01-18 04:07:23
LINQ語句的結果是查詢對象...不是數組。有不同的方式來訪問結果 - 取決於你想要對他們做什麼。常用的方法是使用'foreach'循環來評估每個結果;如下所示:'foreach(doseWithLowestVolumeForForm中的var item){...}'。或者,如果您只對第一個結果感興趣,則可以執行:'doseWithLowestVolumeForForm.First()',它將返回查詢中的第一個結果。其他選擇也存在......但是,這又取決於你需要怎樣處理結果。 – LBushkin 2010-01-18 04:33:09