Listは要素の数は可変ですが、現在の要素数(Count)を超えるインデックスを指定した場合は例外ArgumentOutOfRangeExceptionがスローされます。 例えば、次のコードのように現在の要素数よりも大きなインデックスを指定しても、その分の容量が自動的に確保されるわけではない点に注意してください。
Listにおける容量の自動的な拡張は、Addメソッドなどによって要素が追加・挿入される場合にのみ行われます。 従って、上記のように現在の要素数よりも大きいインデックスに要素を格納したい場合は、Addメソッドを使って必要な要素数になるまで適当な値の追加を繰り返す必要があります。
あるいは、あらかじめ必要な要素数を確保した配列を用意してからそれをもとにListを作成する、といった方法を取ることもできます。 次の例では、全要素数が100の配列を用意してからListを作成しています。
上記の例では、元になる配列arrと、それをもとに作成するlistの二つで個別にインスタンスが確保されている点に注意してください。
Listの要素数・容量に関して、後述の§.容量も合わせて参照してください。