很长一段时间以来,我对以下内容感到好奇:
int[] array = new int[1];
int iArrayLength = array.Length; //1
由于数组实现了 IList 接口,因此允许以下操作:
int iArrayCount = ((IList<int>)array).Count; //still 1
但:
int iArrayCount = array.Count; //Compile error. WHY?
int iArrayLength = array.Length; //This is what we learned at school!
问题:数组如何实现IList<T>
(尤其是int Count { get; }
from 的属性IList<T>
)而不允许在基类上使用它?