集合具有Length或Count属性的Thumbrule - C#

Dot*_*ude 4 .net c#

一些C#集合具有计数,其中一些具有length属性.是否有一个thumbrule找出哪一个和为什么这种差异?

djd*_*d87 7

我会说Thumbrule将军如下:

  • Count用于具有可变长度的集合,即列表(来自 ICollection)
  • Length用于固定长度的集合,即数组或其他不可变对象,即string.

更新:

只是为了阐述Count从来自通过ICollection并不总是表示变异,例如(按照格雷格榉木 "的评论)的ReadOnlyCollection<T>Count属性,但它不是变量,但它确实实现ICollection.

也许更准确的经验法则是:

  • Count 表示某些东西实现了 ICollection
  • Length 表示不变性.