C# のリストから重複を削除する
このチュートリアルでは、C# のリストから重複する要素を削除する方法を紹介します。
C# の HashSet
クラスを使用してリストから重複を削除する
HashSet
クラスは、C# でセットを作成するために使用されます。セットは、よく知られている順序付けられていない個別のオブジェクトのコレクションです。つまり、セットの要素は順序付けられておらず、繰り返されません。リストを HashSet
に格納し、LINQ の ToList()
関数を使用してその HashSet
をリストに戻すことで、リストから繰り返し要素を削除できます。次のコード例は、C# の HashSet
クラスを使用してリストから重複要素を削除する方法を示しています。
using System;
using System.Collections.Generic;
using System.Linq;
namespace remove_duplicates_from_list {
class Program {
static void displayList(List<int> list) {
foreach (var item in list) {
Console.WriteLine(item);
}
}
static void Main(string[] args) {
List<int> listWithDuplicates = new List<int> { 1, 2, 1, 2, 3, 4, 5 };
HashSet<int> hashWithoutDuplicates = new HashSet<int>(listWithDuplicates);
List<int> listWithoutDuplicates = hashWithoutDuplicates.ToList();
displayList(listWithoutDuplicates);
}
}
}
出力:
1
2
3
4
5
上記のコードで、繰り返し値 listWithDuplicates
を使用して整数のリストを宣言して初期化しました。次に、HashSet
クラスのコンストラクターにリストを渡すことにより、リストをセット hasWithoutDuplicates
に変換しました。次に、LINQ ToList()
メソッドを使用して、セットを整数のリスト listWithoutDuplicates
に変換し直しました。最後に、listWithoutDuplicates
リスト内の要素を表示しました。
C# の LINQ メソッドを使用してリストから重複を削除する
LINQ は、クエリ機能を C# のデータ構造に統合します。LINQ の Distinct()
関数は、C# のデータ構造から一意の値を選択するために使用されます。LINQ の ToList()
関数は、要素のコレクションを C# のリストに変換します。Distinct()
関数を使用して、リストから一意の繰り返しのない値を選択し、LINQ の ToList()
関数を使用して、選択した値をリストに戻すことができます。次のコード例は、C# の LINQ メソッドを使用してリストから重複する値を削除する方法を示しています。
using System;
using System.Collections.Generic;
using System.Linq;
namespace remove_duplicates_from_list {
class Program {
static void displayList(List<int> list) {
foreach (var item in list) {
Console.WriteLine(item);
}
}
static void Main(string[] args) {
List<int> listWithDuplicates = new List<int> { 1, 2, 1, 2, 3, 4, 5 };
List<int> listWithoutDuplicates = listWithDuplicates.Distinct().ToList();
displayList(listWithoutDuplicates);
}
}
}
出力:
1
2
3
4
5
上記のコードで、繰り返し値 listWithDuplicates
を使用して整数のリストを宣言して初期化しました。次に、LINQ の Distinct()
関数を使用して、このリストから一意の値を選択しました。次に、LINQ ToList()
関数を使用して、選択した値を整数のリスト listWithoutDuplicates
に変換しました。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn