C#使用未分配的局部变量....困惑

Dan*_*Dan 1 c# arrays for-loop

尝试使用此for循环进行迭代,并将int从用户输入到数组中.我收到错误,不明白为什么..

错误:错误1使用未分配的局部变量'array'

using System;

namespace Lab16
{
class Program
{
    static void Main(string[] args)
    {
        int[] array;
        int value;

        Console.Write("How big of an Array? ");
        int arraySize = int.Parse(Console.ReadLine());

        for (int i = 0; i <= arraySize; i++)
        {
            Console.Write("First Value: ");
            value = int.Parse(Console.ReadLine());
       -->  array[i] = Convert.ToInt32(value);

        }
    }
}
}
Run Code Online (Sandbox Code Playgroud)

McG*_*gle 7

您的数组变量未初始化.写这个应该解决它:

int[] array = new int[arraySize];
Run Code Online (Sandbox Code Playgroud)

(注意,当然这需要你从控制台读取arraySize 之后 ...)

int value;
Console.Write("How big of an Array? ");
int arraySize = int.Parse(Console.ReadLine());
int[] array = new int[arraySize];
Run Code Online (Sandbox Code Playgroud)

还有一个问题......你写的for循环将超出界限.应该是这样的:

for (int i = 0; i < arraySize; i++)
Run Code Online (Sandbox Code Playgroud)