Linq c#按字母分组
我需要按姓氏和首字母显示作者组列表Linq c#按字母分组,linq,c#-4.0,linq-to-objects,Linq,C# 4.0,Linq To Objects,我需要按姓氏和首字母显示作者组列表 e.g. A Kim, Ami Dim, Amaiar jin, Amairaz B Bin, Bom Kin, Bomo C Cin, Ci Con, Co .... 有人能帮我解决上述问题的最佳方法是什么吗?如果您想分组,请使用,我假设您想对输出进行排序(),更改GroupBy表达式以符合您的确切要求: List<String> names = new List<String>{"Bill
e.g.
A
Kim, Ami
Dim, Amaiar
jin, Amairaz
B
Bin, Bom
Kin, Bomo
C
Cin, Ci
Con, Co
....
有人能帮我解决上述问题的最佳方法是什么吗?如果您想分组,请使用,我假设您想对输出进行排序(),更改
GroupBy
表达式以符合您的确切要求:
List<String> names = new List<String>{"Bill", "Mark", "Steve", "Amnon", "Benny"};
foreach(var g in names.GroupBy(name => name.First()).OrderBy(g => g.Key)){
Console.WriteLine(g.Key);
g.OrderBy(name => name).ToList().ForEach(Console.WriteLine);
}
您可以在Linq对象上使用扩展方法来获得所需的结果
List<string> firstNames = new List<string>(){ "Ami", "Amaiar","Amiraz","Bom","Bomo","Ci","Co" };
var groups = firstNames.GroupBy(x=>x[0]);
foreach (var element in groups)
{
Console.WriteLine("{0}", element.Key);
foreach (var word in element)
Console.WriteLine(" {0}", word);
}
List firstNames=newlist(){“Ami”、“Amaiar”、“Amiraz”、“Bom”、“Bomo”、“Ci”、“Co”};
var groups=firstNames.GroupBy(x=>x[0]);
foreach(组中的var元素)
{
WriteLine(“{0}”,element.Key);
foreach(元素中的变量字)
Console.WriteLine(“{0}”,word);
}
输入是什么?你试过什么?
List<string> firstNames = new List<string>(){ "Ami", "Amaiar","Amiraz","Bom","Bomo","Ci","Co" };
var groups = firstNames.GroupBy(x=>x[0]);
foreach (var element in groups)
{
Console.WriteLine("{0}", element.Key);
foreach (var word in element)
Console.WriteLine(" {0}", word);
}