言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

C#辞典

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

List<T>.Insert() / Count

対応: C# 2.0(2005)

リストの指定した位置に要素を挿入する『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リストの現在の要素数を整数で返します。要素を追加・削除するたびに自動的に更新されます。

サンプルコード

Program.cs
using System;
using System.Collections.Generic;

// List<string> を初期値付きで作成します。
List<string> ranking = new List<string> { "五条悟", "両面宿儺", "虎杖悠仁" };
Console.WriteLine($"要素数: {ranking.Count}"); // 要素数: 3

// Insert() でインデックス1の位置に挿入します。
ranking.Insert(1, "伏黒恵");
Console.WriteLine(string.Join(", ", ranking)); // 五条悟, 伏黒恵, 両面宿儺, 虎杖悠仁
Console.WriteLine($"要素数: {ranking.Count}"); // 要素数: 4

// 先頭に挿入します(インデックス 0)。
ranking.Insert(0, "釘崎野薔薇");
Console.WriteLine(string.Join(", ", ranking)); // 釘崎野薔薇, 五条悟, 伏黒恵, 両面宿儺, 虎杖悠仁

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

// Count を使った繰り返しの例です。
List<int> evens = new List<int>();
for (int i = 2; i <= 10; i += 2)
{
    evens.Add(i);
}
Console.WriteLine($"偶数の個数: {evens.Count}"); // 偶数の個数: 5
dotnet script list_insert_count.csx
要素数: 3
五条悟, 伏黒恵, 両面宿儺, 虎杖悠仁
要素数: 4
釘崎野薔薇, 五条悟, 伏黒恵, 両面宿儺, 虎杖悠仁
1, 2, 3, 4, 5
偶数の個数: 5

概要

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

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

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

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