我有一个国家/地区名称列表
Afghanistan
Albania
Bahamas, The
Bahrain
Cambodia
Cameroon
.
.
.
Run Code Online (Sandbox Code Playgroud)
我想要做的是根据第一个字母将此列表分成其他列表.
所以基本上我想要一个以a,b,c开头的国家列表......
所以,你有一组字符串.您可以使用LINQ对它们进行分组并将它们转换为Dictionary.
首先,你需要根据第一个字母对它们进行分组(在这种情况下,情况如此重要a,A将采用不同的方式),使用GroupBy(n => n[0])where n[0]获取字符串中的第一个字符.
其次,您需要将分组转换为可以使用索引器的内容.字典是完美的.使用ToDictionary(g => g.Key, g => g).
将它串在一起时,它看起来像:
var dict = names.GroupBy(n => n[0]).ToDictionary(g => g.Key, g => g);
Run Code Online (Sandbox Code Playgroud)
并允许您使用以下方式获取分组名称:
foreach(var n in dict['A'])
{
// Print out each country starting with 'A'
Console.WriteLine(n);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40 次 |
| 最近记录: |