У меня возникло несколько проблем при создании хранения объектов в массиве и печати в C# после отладки. В чем моя проблема? Проблема возникла при добавлении объектов в массив и печати названия объекта.Массив объектов в C#
static void Main(string[] args)
{
ComputerGame cg1 = new ComputerGame("Age of Empires",49.99);
Console.WriteLine(cg1.title);
ComputerGame cg2 = new ComputerGame("Heroes and Generals", 30.00);
ComputerGame cg3 = new ComputerGame("Team Fortress 2", 19.50);
ComputerGame[] gameAlbum = new ComputerGame[5];
for (int i = 0; i < 5;i++)
{
gameAlbum[0] = new ComputerGame();
gameAlbum[1] = new ComputerGame();
gameAlbum[2] = new ComputerGame();
}
foreach(ComputerGame o in gameAlbum)
{
Console.WriteLine(o.title);
}
}
public class ComputerGame
{
public string title;
public double price;
public ComputerGame(string title, double price)
{
this.title = title;
this.price = price;
}
}
Что проблема в коде? –
вы не помещаете cg1, cg2 и cg3 в объект массива gameAlbum. читая, я думаю, когда вы запускаете код, вы получаете ошибку с нулевым указателем. –
Вы правильно создаете объекты, но затем вы воссоздаете gameObjects со стандартным конструктором в forloop, что означает, что все члены класса равны нулю. Подпишите и создайте экземпляры по отдельности один за другим, как вы делали до цикла –