2011-08-25 150 views
0

遍歷組實體此代碼生成錯誤指示:錯誤框架

sample code

以下是錯誤消息:

error message

彈出定義似乎表明標記爲未定義的字段確實存在:

pop-up definition

我錯過了什麼?

(你告訴我,爲什麼有些錯誤的代碼強調獎勵積分是紅色的而有些則是藍色。)

回答

1

請記住,這些都是羣體,所以你有兩個層次:

foreach(var g in groups) 
    foreach(var item in g) 
     Console.WriteLine(item); 

當你做一個「GROUP BY」在LINQ,你結束了一系列實際的「羣體」 ,每一個都有一個Key和一系列值。這允許您在每個分組上執行聚合函數,如Sum,MinMax。如果您只希望將類似CountryRegion的結果放在一起展平,則可以嘗試使用OrderBy

+0

完美地工作。謝謝! – casterle

3

你有一個IQueryable<IGrouping<string,Anonymous>>,因此需要通過主要參考。

foreach(var g in groups) 
{ 
    Console.WriteLine(g.Key.FirstName.Trim()); 
} 
+0

這會產生一個稍微不同的錯誤:「'string'不包含'FirstName'的定義,並且沒有找到接受'string'類型的第一個參數的擴展方法'FirstName'(你是否缺少using指令或一個程序集引用?)「 – casterle

+1

是的,FirstName和LastName不存在於鍵上,因爲你不是按這些字段分組的。 – StriplingWarrior

+0

@Strip看起來Key是一個包含CountryRegion的字符串。但'鑰匙'從哪裏來?它是由組/自動創建的嗎? – casterle