内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
为什么C#的设计不允许这样的声明?
public int[10] someInts;
public int[10] someMethod();
这些行引发CS0270错误。这背后的原因是什么?在某些情况下,在接口中强制执行数组长度或覆盖类的能力将非常有用。
数组的长度在你创建时确定。你没有在那里创建任何数组,所以你无法确定长度。你无法在字段签名中定义数组的长度,也无法在方法签名的返回部分中定义数组的长度。
长度是声明的一部分的唯一时间是“固定缓冲区”,但是,它不是一个数组。