C# のリストから重複を削除する

Muhammad Maisam Abbas 2024年2月16日
  1. C# の HashSet クラスを使用してリストから重複を削除する
  2. C# の LINQ メソッドを使用してリストから重複を削除する
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 に変換しました。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

関連記事 - Csharp List