我有下面的代码,它产生一个包含多个列表的字典;每个列表都可以用数字键来检索。我可以为此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