使用本地未分配的变量 C#

use of local unassigned variable C#

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

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

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

"use of unassigned local variable"

我该如何摆脱它?

你应该先create/initialize一个数组length/size。

int[] numbers = new int[lenghtOfArray];

其中 lengthOfArray 是一个整数,表示数组的 length/size。

然后您可以使用它们的索引访问数组的项目,就像您在此处所做的那样:

numbers[0] = 0;

将数字 0 设置为数组中的第一项,在索引为 0 的位置。

局部变量 没有给定默认值,必须在读取之前进行初始化,并且编译器正在抱怨,因为您正在使用未分配的局部变量。

然而,您的代码的真正问题是数组在使用前必须 created/instantiated。

您可以像创建任何其他对象一样创建它(这里我们将创建一个包含 11 个元素的数组):

int[] numbers = new int[11];

数组也是一个 Object,因此 numbers 是一个 对象的引用,必须实例化才能使用。

访问前需要先创建对象

当你说 int[] numbers; 时,它只是创建一个可以容纳真实数组的引用。所以这里 'number' 是一个可以容纳 int 数组的引用。

为了use/access它,您需要通过new关键字创建对象。 那会分配它的内存。

所以为了使用它,你需要这样做:int[] numbers = new int[10];