Listの初期容量を指定してもその要素数は確保されない 言語: C# VB 初期容量を指定してListのインスタンスを作成しても、その数の要素数が確保されるわけではありません。 初期容量として指定した値に関わらず、インスタンスを作成した直後の要素数は0となります。 Listの初期容量を指定してもその要素数は確保されない すべて選択してコピー ダウンロード 行番号を表示する using System; using System.Collections.Generic; class Sample { static void Main() { // 初期容量に100を指定してListを作成 var list = new List<int>(100); // CountとCapacityを表示 Console.WriteLine("Count = {0}", list.Count); Console.WriteLine("Capacity = {0}", list.Capacity); // インデックス50の要素を設定 // (現在の要素数は0で、インデックス50は範囲外であるため、例外が発生する) list[50] = 0; } } 実行結果 Count = 0 Capacity = 100 ハンドルされていない例外: System.ArgumentOutOfRangeException: インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。 パラメーター名: index 場所 System.Collections.Generic.List`1.set_Item(Int32 index, T value) 場所 Sample.Main() 関連するページ AsReadOnlyメソッドを使ってListを読み取り専用にしたコレクションを取得する Listの要素数Countと容量Capacityの変化 TrimExcessメソッドを使ってList内部の不要になっている容量を減らす Listを入れ子にして扱う foreach文・ForEachメソッドを使ってList内の要素を列挙する(匿名メソッド版) foreach文・ForEachメソッドを使ってList内の要素を列挙する(ラムダ式版)