例如,在C#中,数组具有Length属性。但是其他收集类型(如列表等)具有Count属性。这两个有何不同的原因吗?如果是这样,我想知道。
4
我找不到我的Lippert哨音,所以我认为今天我们不会得到很好的答案:(
—
MetaFight 2015年
只是一个疯狂的猜测,因为我对CLR的设计没有内在的了解:在收集类型之前指定了数组工作方式的详细信息。调用属性Length是最自然的名称,并且由于没有预先符合的标准,因此数组的设计者选择使用此属性。然后指定了集合,但是Length不适合某些集合(它暗示线性,因此对于无序集合来说,这不是一个合理的名称),因此Count被选择为逻辑上更一致。
—
2015年
我猜这个前stackoverflow帖子有正确的答案。
—
布朗
@MetaFight:我最近录制了一系列教育视频,有一次我提到我不知道为什么设计师同时使用长度和数量。它总是让我感到奇怪。上述朱尔斯的评论似乎是合理的。
—
埃里克·利珀特