我想创建一个用类定义的“ Highscore”对象数组。
尝试设置或读取特定数组内容的值时,总是会收到NullReferenceException。

当我使用单个Highscore对象而不是Array时,它确实起作用。

当我使用整数数组而不是Highscore数组时,它也可以工作。



class Highscore
{
    public int score;
}
class Program
{
    static void Main()
    {
        Highscore[] highscoresArray = new Highscore[10];
        highscoresArray[0].score = 12;
        Console.WriteLine(highscoresArray[0].score);
        Console.ReadLine();
    }
}


System.NullReferenceException:

highscoresArray []为空。

最佳答案

在此代码中:

Highscore[] highscoresArray = new Highscore[10];


您实例化一个Highscore对象数组,但没有实例化该数组中的每个对象。

你需要然后做

for(int i = 0; i < highscoresArray.Length; i++)
    highscoresArray[i]  = new Highscore();

10-04 17:34