c#使用局部未赋值变量

本文关键字:赋值 变量 用局 | 更新日期: 2023-09-27 17:49:24

我有一个问题我不明白(可能很容易解决)。

int[] numbers;
numbers[0] = 0;

调试时,第二行出现错误:

"使用未赋值的局部变量"

我如何摆脱它?

c#使用局部未赋值变量

首先应该创建/初始化一个一定长度/大小的数组。

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];