Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

C#辞典

  1. トップページ
  2. C#辞典
  3. List<T>.Insert() / Count

List<T>.Insert() / Count

リストの指定した位置に要素を挿入する『Insert()』と、リストの現在の要素数を取得する『Count』プロパティです。

構文
using System.Collections.Generic;

// 指定したインデックスの位置に要素を挿入します。
リスト.Insert(int index, T item)

// コレクションのすべての要素を指定したインデックスの位置に挿入します。
リスト.InsertRange(int index, IEnumerable<T> collection)

// リストの現在の要素数を取得します。
リスト.Count
メソッド一覧
メンバー概要
Insert(int index, T item)指定したインデックスに要素を挿入します。それ以降の要素は後ろにシフトされます。
InsertRange(int index, IEnumerable<T> collection)指定したインデックスにコレクション全体を挿入します。
Countリストの現在の要素数を整数で返します。要素を追加・削除するたびに自動的に更新されます。
サンプルコード
using System;
using System.Collections.Generic;

// List<string> を初期値付きで作成します。
List<string> 順位 = new List<string> { "田中", "佐藤", "鈴木" };
Console.WriteLine($"要素数: {順位.Count}"); // 要素数: 3

// Insert() でインデックス1の位置に挿入します。
順位.Insert(1, "山田");
Console.WriteLine(string.Join(", ", 順位)); // 田中, 山田, 佐藤, 鈴木
Console.WriteLine($"要素数: {順位.Count}"); // 要素数: 4

// 先頭に挿入します(インデックス 0)。
順位.Insert(0, "伊藤");
Console.WriteLine(string.Join(", ", 順位)); // 伊藤, 田中, 山田, 佐藤, 鈴木

// InsertRange() で複数要素をまとめて挿入します。
List<int> 数値 = new List<int> { 1, 5 };
数値.InsertRange(1, new int[] { 2, 3, 4 }); // インデックス1に挿入します。
Console.WriteLine(string.Join(", ", 数値)); // 1, 2, 3, 4, 5

// Count を使った繰り返しの例です。
List<int> 偶数 = new List<int>();
for (int i = 2; i <= 10; i += 2)
{
    偶数.Add(i);
}
Console.WriteLine($"偶数の個数: {偶数.Count}"); // 偶数の個数: 5
概要

『Count』は配列の『Length』に相当するプロパティです。List<T> には Length プロパティはないため、配列と混同して Length を呼び出すとコンパイルエラーになります。リストの要素数は必ず Count を使ってください。

『Insert()』は指定位置以降の要素をシフトする必要があるため、リストが大きいほど処理コストが上がります。頻繁に先頭や途中への挿入が必要な場合は LinkedList<T> の使用も検討してください。

要素の検索や判定には『List<T>.Contains() / IndexOf()』を参照してください。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。