根据字符串的首字母,将字符串列表拆分为一个新列表
本文关键字:列表 字符串 一个 新列表 拆分 | 更新日期: 2023-09-27 18:11:23
我有一个国家名称列表
Afghanistan
Albania
Bahamas, The
Bahrain
Cambodia
Cameroon
.
.
.
我要做的是根据首字母将这个列表分成其他列表。
我想要一个以a b c开头的国家列表......
那么,你有一个字符串集合。您可以使用LINQ对它们进行分组并将它们转换为字典。
首先,您需要根据第一个字母对它们进行分组(在这种情况下,大小写很重要,因此a
和A
将被区别对待),使用GroupBy(n => n[0])
,其中n[0]
获得字符串中的第一个字符。
其次,您需要将分组转换为可以使用索引器的内容。一本字典就很好了。使用ToDictionary(g => g.Key, g => g)
.
当你把它们串在一起时,它看起来像:
var dict = names.GroupBy(n => n[0]).ToDictionary(g => g.Key, g => g);
并允许您使用:
获得分组名称foreach(var n in dict['A'])
{
// Print out each country starting with 'A'
Console.WriteLine(n);
}
你可以这样做:
var countriesWithStartingLetterA = countries.Where(x => x.StartsWith("A")).ToList();