Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2012, 00:47   #1
Fiamma
Пользователь
 
Регистрация: 25.10.2011
Сообщений: 11
По умолчанию Создание двумерного массива объектов класса (С#)

Добрый день.
Подскажите, пожалуйста, как правильно инициализировать двумерный массив элементов собственного класса? В моем варианте вылетает ошибка "Ссылка на объект не указывает на экземпляр объекта". Как такое можно обойти?

Код:
using System;

class Board
{
    public int counter;
    public string index;
    /*<...>*/
}

class Program
{
    static void Main()
    {
        int i, j;
        string[] A = { "a", "b", "c", "d", "e", "f", "g", "h" };
        Board[,] Desk = new Board [8,8]; //инициализация
        for (i = 0; i < 8; i++)
        {
            for (j = 0; j < 8; j++)
            {
                Desk[i,j].index = A[j] + (i+1).ToString(); //ошибка
                Desk[i,j].counter = -1;
            }
        }
        /*<..>*/
    }
}
По идее, с любым другим стандартным классом это возможно, почему же с собственным не получается?
Заранее спасибо)
Fiamma вне форума Ответить с цитированием
Старый 17.03.2012, 01:06   #2
Lasur
Форумчанин
 
Аватар для Lasur
 
Регистрация: 13.10.2011
Сообщений: 143
По умолчанию

Desk[i, j] не инициализированы, точнее инициализированы,но null-ами по дефолту, соответственно вы не можете оперировать их полями. Вот так можно...
Код:
for (i = 0; i < 8; i++)
        {
            for (j = 0; j < 8; j++)
            {
                Desk[i,j] = new Board();
                Desk[i,j].index = A[j] + (i+1).ToString(); //ошибка
                Desk[i,j].counter = -1;
            }
        }
Все имена, фамилии, ники, даты и события упоминаемые в моих постах, являются вымышленными. Все совпадения с реально существующими - случайны.
Lasur вне форума Ответить с цитированием
Старый 17.03.2012, 10:43   #3
Fiamma
Пользователь
 
Регистрация: 25.10.2011
Сообщений: 11
По умолчанию

Спасибо, заработало)
Fiamma вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание двумерного массива в С++ JuniorProger Общие вопросы C/C++ 5 15.02.2012 17:20
Создание объектов класса при private-наследовании _-Re@l-_ Общие вопросы C/C++ 2 30.07.2011 12:52
Проблема с созданием двумерного массива из объектов производных классов Vang Общие вопросы C/C++ 15 28.05.2010 17:04
создание объектов класса Serjuk Общие вопросы C/C++ 8 13.05.2010 18:54
Создание объектов класса в цикле Formdet Общие вопросы .NET 4 23.04.2010 21:43