(簡略化)
フルネームの文字列のリストがあります。最初の6文字は常に名です。
List<string>()
fredXXsmith
aliceXFloor
billXXjohnson
fredXXperterson
LINQのこれらの文字列から一意の名のリストを取得するにはどうすればよいですか?
fredXX
aliceX
billXX
フルネームをサブストリングに投影してから、次を使用する必要がありますDistinct
。
var firstNames = names.Select(x => x.Substring(0, 6))
.Distinct();
これは、(あなたの例では)常に少なくとも6文字(Xで埋められている)があることを前提としています。ToList
が必要な場合は、チェーンの最後に呼び出しを追加しますList<string>
。
names.Select(fullName => fullName.Substring(0, 6)).Distinct();
Substring
最初の6文字を取得し、Distinct
独自の結果を提供します。
names.Select(x => x.Substring(0,6)).Distinct()