Массив массивов
От: DenisVa  
Дата: 08.11.05 06:43
Оценка:
Доброе время суток !
Я новичок в С#. Но активно его изучаю.
Такой простой вопрос.
Я создаю массив динамичсих массивов ArrayList.

public ArrayList[] arr = new ArrayList[30];
arr[0].Add("wwww");

на второй строчке выскакивает исключение
An unhandled exception of type 'System.NullReferenceException' occurred in WindowsApplication1.exe
Additional information: Object reference not set to an instance of an object.

Поможите разобраться !!!
Чтобы понять рекурсию, нужно сначала понять рекурсию...
Re: Массив массивов
От: DenisVa  
Дата: 08.11.05 07:10
Оценка:
Здравствуйте, DenisVa, Вы писали:

По идеи при создания массива, скорее всего создается указатель на этот массив. ... По идеи для указания члена класса в данном случае наверно нужно использовать ->
У меня не получилось
Чтобы понять рекурсию, нужно сначала понять рекурсию...
Re: Массив массивов
От: Mckey Россия  
Дата: 08.11.05 07:19
Оценка:
Здравствуйте, DenisVa, Вы писали:

DV>Доброе время суток !

DV>Я новичок в С#. Но активно его изучаю.
DV>Такой простой вопрос.
DV>Я создаю массив динамичсих массивов ArrayList.

DV>public ArrayList[] arr = new ArrayList[30];

DV>arr[0].Add("wwww");

DV>на второй строчке выскакивает исключение

DV>An unhandled exception of type 'System.NullReferenceException' occurred in WindowsApplication1.exe
DV>Additional information: Object reference not set to an instance of an object.

DV>Поможите разобраться !!!

Ну потому что 0 элемента у тебя еще нету

Я так думаю можно попробовать
arr.Add(new ArrayList());
arr[0].Add("Проверка");
Делай добро и бросай его в воду...
Re: Массив массивов
От: Аноним  
Дата: 08.11.05 07:18
Оценка:
нужно проинициализировать значение элемента 1 массива
arr[0] = new ArrayList();
arr[0].Add("wwww");



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Массив массивов
От: Аноним  
Дата: 08.11.05 07:22
Оценка:
Ну дык, массив то ты создал и если бы в качестве базового использовался размерный тип (а-ля int, double) — то все было бы зашибись. Но ArrayList — класс, ссылочный тип, потому массив выделен, но его элементы содержат null. Проинициализируй каждый из них с new ArrayList:

for (int i = 0; i < arr.Length; i++)
   {
    arr[i] = new ArrayList();
   }



P.S. Для чего используется кл.слово public???




данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: Массив массивов
От: DenisVa  
Дата: 08.11.05 07:49
Оценка:
Всем грандиозное спасибо !

Здравствуйте, MxKazan, Вы писали:


MK>
for (int i = 0; i < arr.Length; i++)
MK>   {
MK>    arr[i] = new ArrayList();
MK>   }

Спасибо !!!


MK>P.S. Для чего используется кл.слово public???


Ну наверно чтоб из других классов форм был доступ.

For Mckey:

Пробовал так как вы сказали:
arr.Add(new ArrayList());
arr[0].Add("Проверка");
На первой строчке говорит что метод Add отсутствует у класса Array.
А жаль так покрасивее бы выходило без перебора конструкторов всех элементов массива.
Чтобы понять рекурсию, нужно сначала понять рекурсию...
Re[2]: Массив массивов
От: Аноним  
Дата: 08.11.05 08:54
Оценка:
Ну наверно чтоб из других классов форм был доступ.

Дык это понятно, но в данном случае сразу за этой строкой идет код, который в объявлении недоступен. Вот я и задумался...


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[3]: Массив массивов
От: DenisVa  
Дата: 08.11.05 09:02
Оценка:
Здравствуйте, MxKazan, Вы писали:

MK>Дык это понятно, но в данном случае сразу за этой строкой идет код, который в объявлении недоступен. Вот я и задумался...


MK>
данное сообщение получено с www.gotdotnet.ru

MK>ссылка на оригинальное сообщение


Я так понимаю, что когда сработает конструктор то из других форм я сомгу обращаться к массиву.
А обращения, ессно будут после конструктора.
Чтобы понять рекурсию, нужно сначала понять рекурсию...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.