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最初の6文字を取得し、Distinct独自の結果を提供します。

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