一些C#集合具有计数,其中一些具有length属性.是否有一个thumbrule找出哪一个和为什么这种差异?
我会说Thumbrule将军如下:
Count用于具有可变长度的集合,即列表(来自
ICollection)Length用于固定长度的集合,即数组或其他不可变对象,即string.更新:
只是为了阐述Count从来自通过ICollection并不总是表示变异,例如(按照格雷格榉木 "的评论)的ReadOnlyCollection<T>有Count属性,但它不是变量,但它确实实现ICollection.
也许更准确的经验法则是:
Count 表示某些东西实现了 ICollectionLength 表示不变性.