本文へスキップ
BecomeCoder

C#文法コース · 第3章 コレクション · レッスン23

List

ブラウザで完結

導入

配列は長さが固定でした。実務では「あとから追加・削除したい」ことがほとんどです。そのための可変長リストList<T>です。<T>には入れる型を書きます。

図解

flowchart LR
    L["List&lt;string&gt;"] -->|Add| A["末尾に追加"]
    L -->|RemoveAt| R["指定位置を削除"]
    L -->|Count| C["現在の個数"]
    style L fill:#e1f5fe

サンプル

// List<入れる型> 名前 = new();
List<string> tasks = new();

tasks.Add("買い物");       // 末尾に追加
tasks.Add("掃除");
tasks.Add("洗濯");

Console.WriteLine(tasks.Count);   // 3   ← List は Count(配列は Length)
Console.WriteLine(tasks[0]);      // 買い物

tasks.RemoveAt(1);                // インデックス1(掃除)を削除
Console.WriteLine(tasks.Count);   // 2

foreach (string t in tasks)
    Console.WriteLine(t);         // 買い物 / 洗濯
  • List<型> 名前 = new(); で作る(<>の中に要素の型)
  • .Add(値)で追加、.RemoveAt(番号)で削除
  • 個数は.Count(配列の.Lengthと名前が違う点に注意)

演習

List<int> numbers = new();

// TODO: numbers に 10, 20, 30 を追加し、合計をLINQなしのforeachで求めて "60" と出力してください
___
  • 期待される出力: 60
ヒント1を見る

numbers.Add(10); を3回、その後foreachで合計します

ヒント2を見る

numbers.Add(10); numbers.Add(20); numbers.Add(30); int sum = 0; foreach (int n in numbers) sum += n; Console.WriteLine(sum);

まとめ

  • List<T>は個数を自由に増減できる可変長リスト
  • .Addで追加、.RemoveAtで削除、.Countで個数
  • 実務で最もよく使うコレクション

次回: 「キーで値を引く」Dictionaryです。

実際に動かしてみよう

本文のサンプルや演習のコードは、コードブロック右上の「コピー」ボタンでコピーして、下のエディタに貼り付ければそのまま実行できます。

C# — ブラウザ内で実行

ブラウザ内でC#を動かす環境を読み込みます(初回のみ数秒)。
スクロールして表示された時点でも自動で読み込まれます。