我有下面的代碼,它產生一個包含多個列表的字典;每個列表都可以用數字鍵來檢索。我可以爲此Linq分組使用匿名類型嗎?
public class myClass
{
public string Group { get; set; }
public int GroupIndex { get; set; }
...
}
public List<MyClass> myList { get; set; }
private Class IndexedGroup
{
public int Index { get; set; }
public IEnumerable<MyClass> Children { get; set; }
}
public Dictionary<int, IEnumerable<MyClass>> GetIndexedGroups(string group)
{
return myList.Where(a => a.Group == group)
.GroupBy(n => n.GroupIndex)
.Select(g => new IndexedGroup { Index = g.Key, Children = g })
.ToDictionary(key => key.Index, value => value.Children);
}
有什麼辦法消除IndexedGroup
類?
我在Select
方法使用匿名類型試過了,是這樣的:
.Select(g => new { Index = g.Key, Children = g })
但我得到一個類型轉換錯誤。
順便說一句,如果您發佈了確切的錯誤消息,那麼對於簡單的人來說就可能發現問題了。 – SLaks 2010-12-07 18:26:51
@SLaks。錯誤消息是針頭上的聖經,我正在開發一臺未連接到互聯網的計算機。 – 2010-12-07 18:29:15
確實;這將是一個長期的信息。 _爲什麼你在沒有連接到互聯網的計算機上開發? – SLaks 2010-12-07 18:30:04