|
|
1
43
从 http://msdn.microsoft.com/en-us/library/ms132433.aspx :
这保证了访问
编辑:正如许多其他海报建议的那样,
但是,我在文档中没有找到是否可以保证
必要的后期添加:许多流行的容器不是从
所有这些集合实现
(注意:例如,一些容器,
|
|
|
2
9
您的问题没有指定 具体的 集合类,所以… 它取决于集合类。arraylist和list都有一个跟踪计数的内部变量。但是,它是特定于实现的,并且根据集合的类型,理论上它可以在每次调用时重新计算。 |
|
|
3
7
它是一个内部值,不计算。这个 documentation 说明获取值是O(1)操作。 |
|
|
4
6
正如其他人所指出的,在修改集合时维护计数。框架中的每个集合类型几乎都是这样。这与对将每次枚举集合的IEnumerable使用Count扩展方法大不相同。 此外,对于较新的集合类,count属性不是虚拟的,这意味着抖动可以内联对count访问器的调用,这使得它实际上与访问字段相同。换句话说,很快。 |
|
|
5
4
万一A
|
|
|
6
3
根据Reflector,它实现为
所以它是由派生类型定义的 |
|
|
7
2
只是一个简短的说明。当使用System.Linq时,有两种方法可以计算.NET 3.5中的集合。对于普通集合,第一个选择应该是使用Count属性,原因已经在其他答案中描述过。 还提供了另一种方法,通过linq.count()扩展方法。.count()的有趣之处在于,无论基础类是否实现ICollection,或是否具有Count属性,都可以对任何可枚举的对象调用它。但是,如果您执行call.count(),请注意它将在集合上迭代以动态生成一个计数。这通常会导致O(N)复杂性。 我要注意的唯一原因是,使用IntelliSense,通常很容易意外地使用count()扩展而不是count属性。 |
|
|
8
1
它是内部的
|
|
|
Giffyguy · 如何限制在构造向量后调用'resize()'? 3 年前 |
|
|
vytaute · 返回表类型时Oracle函数中的类型错误 3 年前 |
|
|
bbgghh · 在scala中连接两个列表时如何处理不匹配的键 3 年前 |
|
|
dev-chicco · Laravel系列寻找常见物品 3 年前 |
|
|
Mitch · Laravel-雄辩的单品合并系列 7 年前 |
|
|
Kieran · 为什么类X可以从集合继承<X> 7 年前 |
|
|
John · 如何在不返回集合本身的情况下返回集合的数据? 7 年前 |
|
|
Niklas Mertsch · 在泛型集合中实现移除(对象o) 7 年前 |