1. ホーム
  2. c#

[解決済み] LINQを使用してリストから重複する項目を取得する方法は?[重複]する

2022-04-21 20:12:43

質問

を持っています。 List<string> のようなものです。

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

リスト内の重複した項目を新しいリストに取り込む必要があります。現在、私はネストされた for のループで行います。

その結果 list を含むことになります。 {"6","1"} .

を使用してこれを行うアイデアはありますか? LINQ または ラムダ式 ?

どのように解決するのですか?

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

これはすべての重複を返すので、もしソースリストでどの項目が重複しているかだけを知りたいのであれば、この関数に Distinct を結果シーケンスに適用するか マーク・バイヤーによる解決策 .