読者です 読者をやめる 読者になる 読者になる

万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

List<T>のCapacity C#

https://msdn.microsoft.com/ja-jp/library/6sh2ey19(v=vs.110).aspx

List<int> list = new List<int> (5);

とやれば5が入るのではなく、Capacityの設定ができる。

            List<int> list = new List<int> (5);
            Debug.Log (list.Count); // => 0
            Debug.Log (list.Capacity); // => 5
            foreach(var item in list)
            {
                Debug.LogError(item);
            }

            list.Add (1);
            list.Add (2);
            list.Add (3);
            list.Add (4);
            list.Add (5);
            list.Add (6);

            foreach(var item in list)
            {
                Debug.Log (item);
            }

            Debug.Log (list.Capacity); // => 10

            list.TrimExcess ();
            Debug.Log (list.Capacity); // => 6

5にしても超えることはできる。 おそらくメモリの話。

6つ追加することができるが、Capacityが自動的に10になった。TrimExcessをすれば減るが5ではなく入った内容でトリミングするようだ。