该类System.Array
实现ICollection
接口。这个接口有一个名为的公共属性Count
,它给出了数组中元素的数量。
假设我声明一个数组并访问它的属性
Array numbers = Array.CreateInstance(typeof(int), 10);
Console.WriteLine(numbers.Count);
您会期望在屏幕上看到 10。Count
但是,在数字后面加上句号后,我看不到财产。但是,有一个名为 的属性Length
。为什么会这样?
更新:这是因为显式接口实现。由于还有一个和我类似的问题,我决定重新措辞。为什么要做出明确实现这一特定属性的设计决策?还有另一个具有相同功能的属性Length
。那么为什么要麻烦提供显式实现Count
呢?