静态大小的C#数据类型强制

时间:2015-11-18 23:49:37

标签: c# coercion

所以如果我定义一些常量

const byte MAX_SIZE = 100;

然后实例化一个静态大小

的整数数组
int[] myArr = new int[MAX_SIZE];

静态大小是明确强制还是完全可以接受。

只是好奇,因为我在VS Visual C#2013中没有收到任何警告,或者有没有办法让警告更加严格?

1 个答案:

答案 0 :(得分:4)

值将隐式转换为为int。请参阅c#规范。

  

7.6.10.4数组创建表达式

     

... new non-array-type [expression-list] ...

     

表达式列表中的每个表达式必须是int,uint,long或ulong类型,或者可以隐式转换为这些类型中的一个或多个。

     

...在评估每个表达式之后,执行对以下类型之一的隐式转换(第6.1节):int,uint,long,ulong。选择此列表中存在隐式转换的第一种类型。