List<T>.Add() / Remove() / Clear()
| 対応: | C# 2.0(2005) |
|---|
可変長リストに要素を追加する『Add()』、要素を削除する『Remove()』、すべての要素を削除する『Clear()』メソッドです。
構文
using System.Collections.Generic; // List<T> を作成します。 List<T> リスト = new List<T>(); // 末尾に要素を追加します。 リスト.Add(T item) // 指定した要素を最初に見つかった位置から削除します。削除できた場合は true を返します。 リスト.Remove(T item) // 指定したインデックスの要素を削除します。 リスト.RemoveAt(int index) // すべての要素を削除します。 リスト.Clear()
メソッド一覧
| メソッド | 概要 |
|---|---|
| Add(T item) | リストの末尾に要素を追加します。 |
| AddRange(IEnumerable<T> collection) | コレクションのすべての要素をリストの末尾にまとめて追加します。 |
| Remove(T item) | 指定した値と一致する最初の要素をリストから削除します。削除できれば true を返します。 |
| RemoveAt(int index) | 指定したインデックスの要素を削除します。 |
| Clear() | リストのすべての要素を削除します。Count が 0 になります。 |
サンプルコード
Program.cs
using System;
using System.Collections.Generic;
// List<string> を作成して要素を追加します。
List<string> members = new List<string>();
members.Add("五条悟");
members.Add("虎杖悠仁");
members.Add("伏黒恵");
Console.WriteLine(string.Join(", ", members)); // 五条悟, 虎杖悠仁, 伏黒恵
// AddRange() でまとめて追加します。
string[] additional = { "釘崎野薔薇", "両面宿儺" };
members.AddRange(additional);
Console.WriteLine(string.Join(", ", members)); // 五条悟, 虎杖悠仁, 伏黒恵, 釘崎野薔薇, 両面宿儺
// Remove() で値を指定して削除します。
members.Remove("虎杖悠仁");
Console.WriteLine(string.Join(", ", members)); // 五条悟, 伏黒恵, 釘崎野薔薇, 両面宿儺
// RemoveAt() でインデックスを指定して削除します。
members.RemoveAt(0); // 先頭の「五条悟」を削除します。
Console.WriteLine(string.Join(", ", members)); // 伏黒恵, 釘崎野薔薇, 両面宿儺
// Clear() ですべての要素を削除します。
members.Clear();
Console.WriteLine(members.Count); // 0
dotnet script list_add_remove_clear.csx 五条悟, 虎杖悠仁, 伏黒恵 五条悟, 虎杖悠仁, 伏黒恵, 釘崎野薔薇, 両面宿儺 五条悟, 伏黒恵, 釘崎野薔薇, 両面宿儺 伏黒恵, 釘崎野薔薇, 両面宿儺 0
概要
『List<T>』は C# で最もよく使われるコレクションクラスです。内部的には配列で実装されており、末尾への追加(Add())は高速ですが、途中への挿入・削除は後続要素のシフトが発生するため要素数が多い場合は注意が必要です。
『Remove()』は一致する最初の要素のみ削除します。同じ値が複数ある場合、すべて削除したい場合は RemoveAll() を使用してください。
要素の挿入と要素数の取得には『List<T>.Insert() / Count』を参照してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。