如何忽略从List <string>中选择的数字?

Dav*_*Dev 0 c#

我有一个项目列表,如

A1
A2
A3
B1
C1
F1
1A
2A

我使用以下代码获取表示每个组的第一个字母的不同字符串列表:

var result = groups.Select(xx => xx.Name.Substring(0, 1)).Distinct().ToList();
Run Code Online (Sandbox Code Playgroud)

所以这会返回如下列表:

A
B
C
F
1
2

这一切都很好,除了数字......我有一个简单的方法来修改代码只返回字母,所以如果它是一个数字,它将不会被添加到results组中?

Luk*_*keH 7

var result = groups.Select(x => x.Name[0])
                   .Where(c => char.IsLetter(c))
                   .Distinct()
                   .ToList();
Run Code Online (Sandbox Code Playgroud)

请注意,上面的查询将生成一个List<char>.如果你想要一个,List<string>那么你需要做这样的事情:

var result = groups.Select(x => x.Name.Substring(0, 1))
                   .Where(s => char.IsLetter(s[0]))
                   .Distinct()
                   .ToList();
Run Code Online (Sandbox Code Playgroud)