1

(简化)

我有一个全名字符串列表。前6 个字符始终是名字

List<string>()
  fredXXsmith
  aliceXFloor
  billXXjohnson
  fredXXperterson

如何从 LINQ 中的这些字符串中获取唯一名字的列表?

  fredXX 
  aliceX 
  billXX
4

3 回答 3

4

您只需要将全名投影到子字符串,然后使用Distinct

var firstNames = names.Select(x => x.Substring(0, 6))
                      .Distinct();

这是假设(给定您的示例)您始终至少有 6 个字符(用 X 填充)。如果ToList你想要一个List<string>.

于 2013-03-12T19:43:21.327 回答
3
names.Select(fullName => fullName.Substring(0, 6)).Distinct();

Substring为您提供前六个字符,并Distinct为您提供独特的结果。

于 2013-03-12T19:44:18.597 回答
2
names.Select(x => x.Substring(0,6)).Distinct()
于 2013-03-12T19:46:39.600 回答