C#のリストで要素を削除する4つの方法!

C# C#

C#のリストの要素を削除する方法について書いています。
リストの要素を削除する、下記のメソッドについて解説しました。

・Removeメソッド
・RemoveAtメソッド
・RemoveRangeメソッド
・Clearメソッド

載せているコードについては、.Netのバージョン6(C#のバージョン10)で確認しました。

Removeメソッドで削除する

リストからRemoveメソッドを呼び出して使うことで、指定した値の要素を削除することができます。
例えば、下記のように使います。

var fruits = new List<string> {"apple", "grape", "peach", "banana", "orange"};

fruits.Remove("grape");
fruits.Remove("banana");

foreach(string fruit in fruits) {
    Console.WriteLine(fruit);
}

最初にfruits変数に対して、5つの文字列でリストを作りました。

次の処理で、Removeメソッドを呼び出して「grape」と「banana」を削除しています。
このようにRemoveメソッドには、値を引数として渡すことで、入っている要素を削除できます。

最後にforeach文で、出力して確認しています。
下記のように、削除した要素以外は残っていることが確認できます。

apple
banana
orange

RemoveAtメソッドで削除する

リストからRemoveAtメソッドを呼び出して使うことで、指定した要素番号の要素を削除することができます。
例えば、下記のように使います。

var fruits = new List<string> {"apple", "grape", "peach", "banana", "orange"};

fruits.RemoveAt(0);
fruits.RemoveAt(1);
fruits.RemoveAt(1);

foreach(string fruit in fruits) {
    Console.WriteLine(fruit);
}

最初にfruits変数に対して、5つの文字列でリストを作りました。

次の処理で、RemoveAtメソッドを呼び出しています。
引数として渡しているのは、削除したい要素番号です。

まず「0」を渡しているので、0番目の「apple」が削除され、「grape」が0番目になります。
そのため、次に「1」を渡していますが、「peach」が削除されます。

このように、連続して使う場合は要素番号がずれていくので、気をつける必要があります。
最後にforeach文で、出力すると下記のように、要素が2つになったことが確認できました。

grape
orange

RemoveRangeメソッドで削除する

リストからRemoveRangeメソッドを使うと、「指定した要素番号」から「指定した個数の要素」を削除できます。
例えば、下記のように使います。

var fruits = new List<string> {"apple", "grape", "peach", "banana", "orange"};

fruits.RemoveRange(1, 2);

foreach(string fruit in fruits) {
    Console.WriteLine(fruit);
}

最初にfruits変数に対して、5つの文字列でリストを作りました。

次の処理で、RemoveRangeメソッドを呼び出しています。
第1引数に削除したい要素番号、第2引数に削除する個数を渡します。

今回は1番目の要素から、2つ削除することになります。(grapepeachを削除する)
foreach文で確認すると、下記のように削除された要素以外は出力されました。

apple
banana
orange

Clearメソッドで全要素を削除する

リストからClearメソッドを使うと、リストの全要素が削除されます。
例えば、下記のように使います。

var fruits = new List<string> {"apple", "grape", "peach", "banana", "orange"};

fruits.Clear();
Console.WriteLine(fruits.Count()); // 0

最初にfruits変数に対して、5つの文字列でリストを作りました。
次の処理で、Clearメソッドを呼び出して、全ての要素を削除しました。

最後にCountメソッドを呼び出して、要素の数を確認すると「0」になっています。
要素が全て削除されたことが確認できました。

リストの要素削除メソッドのまとめ

今回は、C#のリストの要素を削除する方法について書きました。

リストからそれぞれのメソッドを呼び出すことで、要素の削除ができました。
記事の内容をまとめると、下記のようになります。

メソッド 説明
Remove 指定した値の要素をリストから削除する fruits.Remove(“apple”)
RemoveAt 指定した要素番号の要素をリストから削除する fruits.RemoveAt(1)
RemoveRange 「指定した要素番号」から、「指定した個数」をリストから削除する fruits.RemoveRange(1, 2)
Clear 呼び出すと、全ての要素が削除される fruits.Clear()

コメント

タイトルとURLをコピーしました