c#使用局部未赋值变量
本文关键字:赋值 变量 用局 | 更新日期: 2023-09-27 17:49:24
我有一个问题我不明白(可能很容易解决)。
int[] numbers;
numbers[0] = 0;
调试时,第二行出现错误:
"使用未赋值的局部变量"
我如何摆脱它?
首先应该创建/初始化一个一定长度/大小的数组。
int[] numbers = new int[lenghtOfArray];
其中lengthOfArray
是一个整数,表示数组的长度/大小。
则可以使用索引访问数组的项,如下所示:
numbers[0] = 0;
将数字0设置为数组中索引为0的第一个元素
局部变量没有默认值,必须在读取之前初始化,编译器会报错,因为您使用了未赋值的局部变量。
然而,你代码的真正问题是数组必须在使用之前被创建/实例化。
您可以像创建任何其他对象一样创建它(这里我们将创建一个包含11个元素的数组):
int[] numbers = new int[11];
数组也是一个Object
,所以numbers
是对对象的引用,必须被实例化才能使用
您需要在访问之前创建对象。
当您说int[] numbers;
时,它只是创建一个可以保存实际数组的引用。所以这里'number'是一个可以保存int数组的引用。
为了使用/访问它,您需要通过new
关键字创建对象。这将分配它的内存。
int[] numbers = new int[10];