int数组在c#中引发异常

时间:2015-11-20 11:16:54

标签: c# visual-studio

为什么这段代码会抛出异常?

 int n = 10;
 int[] arr = null;
 for (int i = 0; i < n; i++)
 {
       arr[i] = i * 2;
 }

任何人都可以提供帮助吗?

3 个答案:

答案 0 :(得分:2)

您必须先init数组int[] arr = new int[n];

            int n = 10;
            int[] arr = new int[n];
            for (int i = 0; i < n; i++)
            {
                arr[i] = i * 2;
            }

答案 1 :(得分:0)

您必须初始化一个数组。这也必须是一个固定的大小,你不能像使用List

那样扩展数组的扩展 你可以这样做:

int n = 10;
int[] arr = new int[n];
for (int i = 0; i < n; i++)
{
    arr[i] = i * 2;
}

这将初始化一个长度为10的数组,然后填充数字。 或者列表:

int n = 10;
List<int> arr = new List<int>();
for (int i = 0; i < n; i++)
{
    arr.Add(i * 2);
}

请注意,我们没有像为数组那样定义列表的长度。然后我们继续添加元素,而不是最多n。

答案 2 :(得分:0)

您必须声明一个具有已定义值而不是null的新数组。像下面的代码。 :)

int n = 10;
 int[] arr = new int[n];
 for (int i = 0; i < n; i++)
 {
       arr[i] = i * 2;
 }