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

本文关键字:数据类型 静态 | 更新日期: 2023-09-27 18:22:24

因此,如果我定义了一些常量

const byte MAX_SIZE = 100;

然后实例化一个静态大小高于的积分数组

int[] myArr = new int[MAX_SIZE];

静态大小显式强制还是完全可以接受。

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

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

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

7.6.10.4阵列创建表达式

新建非数组类型[表达式列表]。。。

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

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