C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でHashSetから要素を削除する方法|RemoveWhereの使い方を解説

C#のHashSet<T>から特定の要素を削除したい場合、条件を指定して一括削除できるRemoveWhereメソッドが便利です。この記事では、HashSetの作成から要素の削除までの一連の手順を、実際のコード例とともにわかりやすく解説します。

1. HashSetの宣言と要素の追加

まず、文字列型のHashSetを宣言し、Addメソッドを使って複数の要素を追加します。

var names = new HashSet<string>();
names.Add("Tim");
names.Add("John");
names.Add("Tom");
names.Add("Kevin");

HashSetは重複する要素を持たないコレクションのため、同じ値を何度追加しても自動的に除外されます。

2. RemoveWhereメソッドで要素を削除する

要素を削除するには、RemoveWhereメソッドを使用します。引数には削除条件を表すラムダ式(述語)を渡します。

names.RemoveWhere(x => x == "John");

この例では、「John」という値に一致するすべての要素がセットから削除されます。RemoveWhereは条件に一致した要素の数(削除された件数)を戻り値として返す点も覚えておくと便利です。

補足:Removeメソッドとの違い

単一の要素を値そのもので削除したい場合は、Removeメソッドも使えます。

names.Remove("John"); // 値を直接指定して削除

一方、RemoveWhereは「特定の文字で始まる要素」や「長さが一定以上の要素」など、柔軟な条件での一括削除に向いています。

3. 完全なコード例

ここまでの内容をまとめた完全なサンプルコードは以下の通りです。

using System;
using System.Collections.Generic;

public class Program {
   public static void Main() {
      var names = new HashSet<string>();
      names.Add("Tim");
      names.Add("John");
      names.Add("Tom");
      names.Add("Kevin");

      Console.WriteLine("初期状態のセット...");
      foreach(var val in names) {
         Console.WriteLine(val);
      }

      names.RemoveWhere(x => x == "John");

      Console.WriteLine("要素を削除した後のセット...");
      foreach(var val in names) {
         Console.WriteLine(val);
      }
   }
}

実行結果

初期状態のセット...
Tim
John
Tom
Kevin
要素を削除した後のセット...
Tim
Tom
Kevin

まとめ

C#でHashSetから要素を削除するには、条件を指定できるRemoveWhereメソッドが有効です。ラムダ式で削除条件を自由に記述できるため、単純な一致判定だけでなく、より複雑な条件でのフィルタリングにも対応できます。用途に応じてRemoveメソッドと使い分けるとよいでしょう。

  1. 【Python】pop()メソッドでセットから要素を削除する方法

    「集合(セット)」という言葉は、数学の分野でおなじみの概念です。Pythonにおけるセット(set)は、数学の集合に相当するデータ構造で、さまざまな要素を格納することができます。セット内の要素には順序が定義されておらず、要素の追加や削除、セット全体の反復処理のほか、和集合・積集合・差集合といった標準的な集合演算も行えます。 本記事では、セットから要素を削除する方法を解説します。ここでは pop() メソッドを使用します。pop() はPythonの組み込みメソッドで、セットから要素を1つずつ取り出して削除するために使われます。なお、セットは順序を持たないデータ構造のため、どの要素が削除されるか

  2. 【Python】セットから要素を削除するプログラム:pop()メソッドの使い方

    「集合(セット)」という言葉は、数学の世界でもおなじみですね。Pythonにおけるセットは、数学の集合に相当するデータ構造です。セットにはさまざまな要素を格納でき、要素の順序は定義されません(順序を持たないコレクションです)。セットでは要素の追加や削除が自由に行え、要素の反復処理のほか、和集合・積集合・差集合といった標準的な集合演算も実行できます。この記事では、セットから要素を削除する方法を解説します。ここでは pop() メソッドを使用します。pop() はPythonの組み込みメソッドで、セットから要素を1つずつ取り出しながら削除していくために使われます。実行例NEW SET IS ::&