LINQ を使用してリストから重複した項目を取得する方法 [重複] 質問する

LINQ を使用してリストから重複した項目を取得する方法 [重複] 質問する

私はList<string>次のものを持っています:

List<String> list = new List<String>{"6","1","2","4","6","5","1"};

リスト内の重複した項目を新しいリストに取得する必要があります。現在、ネストされたforループを使用してこれを行っています。

結果にはlistが含まれます{"6","1"}

これを使って何かアイデアはありますか?リンクまたはラムダ式?

ベストアンサー1

var duplicates = lst.GroupBy(s => s)
    .SelectMany(grp => grp.Skip(1));

これはすべての重複を返すので、ソースリストで重複している項目だけを知りたい場合は、Distinct結果のシーケンスに適用するか、マーク・バイヤーズが提示した解決策

おすすめ記事