準備
(なし)
デザイン
1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にリストボックス (listBox1) を配置します。
サンプルコード (C#)
// 名前空間の追加
// (なし)
// コード
private void button1_Click(object sender, EventArgs e)
{
List<string> lt = new List<string>();
listBox1.Items.Add(lt.Capacity);
listBox1.Items.Add(lt.Count);
lt.Add("NEC");
listBox1.Items.Add(lt.Capacity);
listBox1.Items.Add(lt.Count);
}
解説
リストコレクションを作成した直後の Capacity は 0 です。これは Count とも一致しています。しかし、アイテムを追加すると、Capacity は 1 ずつ増えるとは限らないようです。このサンプルの場合、Capacity は 4 となります。尚、当然ながら Count は 1 です。
少し調査したところ、Capacity の増え方には次のような規則がありそうです。
- 最初のアイテムを追加すると、4 に設定。
- 次からは Capacity の限界まで達するごとに倍に増加。
結果

動作確認環境
Visual Studio 2015 Professional (C# 6.0)