如何将数组赋值给 var
通常情况下,将数组赋值给变量时,不需要使用[]
括号。如果要显式定义一个 int 数组,可以使用以下方式:
//正面案例
int[] numbers = new int[10];
//反面案例
int numbers[] = new int[10];
如果你尝试直接使用 var 而不是 int :
var[] numberArray = new int[10];
var numberArray[] = new int[10];
很不幸,这两种方法都无法正常编译。为了解决这个问题,我们需要删除左侧的方括号:
//正面案例
var numberArray = new int[10]; //推断为int[]类型
numberArray[0] = 3; //可以
numberArray[0] = 3.2; //不可以
numbers[0] = "3"; //不可以
常见的做法是在声明时初始化数组,如下所示:
//显式类型可以正常编译
int[] numbers = {1, 2, 3};
然而,试图使用 var 将会导致编译失败:
//无法编译
var numberArray = {1, 2, 3};
var numberArray[] = {1, 2, 3};
var[] numberArray = {1, 2, 3};
这段代码无法编译,因为右侧缺少必要的类型信息。