泛型中的排序列表

时间:2015-07-28 15:23:21

标签: c# asp.net

SortedListSystem.Collections.Generic的默认容量是多少?有人告诉我它是4,但下面的例子显示0。为什么呢?

        SortedList<int,string> sortedlist = new SortedList<int,string>();
        Console.WriteLine(sortedlist.Capacity);

2 个答案:

答案 0 :(得分:6)

documentation对此有点模糊,只是说该列表将具有“默认初始容量”。

但是,reference source中的评论说明了这一点:

  

构造一个新的排序列表。 排序后的列表最初是空的并且有   容量为零。将第一个元素添加到排序列表后   容量增加到_defaultCapacity ,然后以2的倍数增加   要求。排序列表的元素按照顺序排序   IComparable接口,必须通过键实现   所有条目都添加到排序列表中。

_defaultCapacity4

因此,要回答您的问题:默认值为0 4,具体取决于您是否添加了元素。

答案 1 :(得分:0)

零是通用版本的默认容量。它会随着您添加元素而增加,最初在添加元素时将大小增加到4。可以使用构造函数SortedList(Int32)定义初始大小。容量始终至少与Count相同。可以使用Count将其修剪为TrimToSize()中的确切数字。

Full Documentation