【发布时间】:2011-01-29 22:03:37
【问题描述】:
List<T> 上有几个属性似乎与列表中的项目数有关 - Capacity、Count(作为属性和方法存在)。这非常令人困惑,尤其是与只有Length 的Array 相比。
我正在使用List.Capacity,但它给出了意想不到的结果:
List <string> fruits = new List<string>();
fruits.Add("apple");
fruits.Add("orange");
fruits.Add("banana");
fruits.Add("cherry");
fruits.Add("mango");
Console.WriteLine("the List has {0} items in it.", fruits.Capacity);
当我运行它时,控制台显示:
列表中有 4 个项目。
当我只添加了 5 个项目时,我不明白为什么它显示 Capacity 为 8。
【问题讨论】:
-
一个相关的link 包含在这个问题的答案列表中可能很有趣。
-
我不觉得这是一个重复的问题。您指出的问题是关于初始化容量。那里提供的答案只说明了为什么要或不想初始化它的容量属性。他们没有回答“为什么它显示容量为 8,而我只添加了 7 个项目”。正如这里所指出的,我的问题是容量与计数之一。
-
几乎所有语言都存在类似的混淆 - 请参阅 stackoverflow.com/questions/300522/… 了解其他“集合中的项目数”属性。
标签: c# list collections