C#のListから重複要素を削除する方法(Distinctメソッドの使い方)
C#でリスト(List)から重複する要素を削除したい場合は、LINQが提供する Distinct() メソッドを使うのが最も簡単です。この記事では、基本的な使い方から実行例まで、コード付きでわかりやすく解説します。
Distinct()メソッドとは
Distinct() は System.Linq 名前空間に含まれる拡張メソッドで、シーケンス内の重複した要素を取り除き、一意な要素だけを返します。戻り値は IEnumerable<T> なので、ToList() を呼び出すことで再びリストとして扱えます。
サンプルリストの作成
まずは、重複を含む整数型のリストを作成します。
List<int> arr1 = new List<int>(); arr1.Add(10); arr1.Add(20); arr1.Add(30); arr1.Add(40); arr1.Add(50); arr1.Add(30); // 重複 arr1.Add(40); // 重複 arr1.Add(50); // 重複
重複を削除する方法
重複要素を削除するには、次のように Distinct() メソッドを呼び出し、結果を ToList() で新しいリストに変換します。
List<int> distinct = arr1.Distinct().ToList();
完全なサンプルコード
以下は、処理の全体像を確認できる完全なプログラムです。削除前と削除後のリスト内容をコンソールに出力して比較しています。
using System;
using System.Collections.Generic;
using System.Linq;
public class Demo {
public static void Main() {
List<int> arr1 = new List<int>();
arr1.Add(10);
arr1.Add(20);
arr1.Add(30);
arr1.Add(40);
arr1.Add(50);
arr1.Add(30);
arr1.Add(40);
arr1.Add(50);
Console.WriteLine("初期のリスト ...");
foreach (int i in arr1) {
Console.WriteLine(i);
}
// 重複要素の削除
List<int> distinct = arr1.Distinct().ToList();
Console.WriteLine("重複削除後のリスト ...");
foreach (int res in distinct) {
Console.WriteLine("{0}", res);
}
}
}
実行結果
初期のリスト ... 10 20 30 40 50 30 40 50 重複削除後のリスト ... 10 20 30 40 50
補足:Distinct()を使う際のポイント
- usingディレクティブが必要:
Distinct()を使うには、ファイルの先頭でusing System.Linq;を宣言しておく必要があります。 - 元のリストは変更されない:
Distinct()は元のリストを書き換えるのではなく、重複を除去した新しいシーケンスを返します。 - カスタムクラスの場合: 独自のクラスのオブジェクトに対して使う場合は、等価性の判定方法に注意してください。既定では参照の一致が判定基準になるため、必要に応じて
EqualsやGetHashCodeのオーバーライド、またはIEqualityComparer<T>の実装を行いましょう。
このように、Distinct() メソッドを使えば、C#のリストから重複要素をたった1行で簡単に除去できます。データの前処理や集計処理などで頻繁に活用できる便利な機能なので、ぜひ覚えておきましょう。
-
【Android】ソート済みリンクリストから重複を削除する方法をわかりやすく解説
はじめに この記事では、Androidアプリ開発において、ソート済みのリンクリスト(LinkedList)から重複する要素を削除する方法を解説します。Java標準ライブラリのLinkedHashSetを活用すれば、要素の順序を保ったまま重複だけを簡単に除去できます。 実装手順 ステップ1:新規プロジェクトの作成 まず、Android Studioで新しいプロジェクトを作成します。メニューから「File」⇒「New Project」を選択し、必要な項目を入力してプロジェクトを生成してください。 ステップ2:レイアウトファイル(activity_main.xml)の編集 次に、res/layout
-
【保存版】Excelでドロップダウンリストの重複を削除する4つの方法
大量のデータをMicrosoft Excelで扱っていると、ドロップダウンリストを作成したものの、リスト内に重複した値が含まれてしまい困ることがあります。実は、この重複を削除するのはとても簡単で、正しい手順を知っていれば作業時間と手間を大幅に節約できます。本記事では、Excelのドロップダウンリストから重複値を効率的に取り除くための4つの方法を、分かりやすい図解とともに詳しく解説します。 Excelのドロップダウンリストから重複を削除する4つの方法 ここでは、ある国がヨーロッパの3カ国に輸出した果物や野菜に関する情報が記録された大きなワークシートを例にします。データには商品名(Product