【发布时间】:2014-02-06 11:27:51
【问题描述】:
我通过Linq做了一个嵌套组。我根据学生姓名的第零个元素制作了第一组。第二组是根据学生姓名。我无法获得外部组的密钥,即'h' 或 'a'。请帮忙。
代码:
List<student> li = new List<practice.student>()
{
new student(){name="harry",marks=50},
new student(){name="harry",marks=60},
new student(){name="hermione",marks=50},
new student(){name="hermione",marks=60},
new student(){name="ajax",marks=60},
new student(){name="ajax",marks=70},
new student(){name="abby",marks=60},
new student(){name="abby",marks=70}
};
var query1 = li.GroupBy(t => t.name[0]).Select(t => t.GroupBy(s => s.name));
foreach (var item in query1)
{
Console.WriteLine(item.Select(t=>t.Key));
foreach (var item1 in item)
{
Console.WriteLine("Key:"+item1.Key);
foreach (var item2 in item1)
{
Console.WriteLine(item2.name+","+item2.marks);
}
Console.WriteLine();
}
Console.WriteLine();
}
输出:
System.Linq.Enumerable+WhereSelectEnumerableIterator`2[System.Linq.IGrouping`2[S
ystem.String,practice.student],System.String]
Key:harry
harry,50
harry,60
Key:hermione
hermione,50
hermione,60
System.Linq.Enumerable+WhereSelectEnumerableIterator`2[System.Linq.IGrouping`2[S
ystem.String,practice.student],System.String]
Key:ajax
ajax,60
ajax,70
Key:abby
abby,60
abby,70
【问题讨论】:
标签: c# linq linq-to-objects