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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2009, 15:45   #1
Алексей Равен
 
Аватар для Алексей Равен
 
Регистрация: 24.04.2009
Сообщений: 3
По умолчанию Проблема С ArrayList в C# , ОЧЕНЬ надо

Мне нужно сделать ArrayList ArrayList'ов, заполнение их проходит удачно, а вот возврат значений у меня не получается...
П.С. Код чисто показательный, так как нормальный код занимает 3 страницы А4, но он отображает проблему.
П.П.С. ArrayList'ы массивами заменить нельзя, тк точное количество хранящихся элементов мне не известно.

ArrayList a = new ArrayList();
ArrayList b = new ArrayList();
// заполнение
for (int i=0; i<20; i++)
{
for (int j=0; j<20;j++)
{
a.Add(j);
}
b.Add(a);
a.Clear();
}
// считывание
for (i=0; i<b.Count; i++)
{
a=(ArrayList) b[i];// В ЭТОМ МЕСТЕ НИЧЕГО НЕ СЧИТЫВАЕТСЯ
for (j=0; j< a.Count; j++)
{
int temp = (int) a[j];
MessageBox(temp.ToString());
}
}
Алексей Равен вне форума Ответить с цитированием
Старый 24.04.2009, 21:25   #2
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Создавать нужно каждый элемент массива:

Код:
            ArrayList a;
            ArrayList b = new ArrayList();
            // заполнение
            for (int i = 0; i < 20; i++)
            {
                a = new ArrayList();
                for (int j = 0; j < 20; j++) { a.Add(j); }
                b.Add(a);
            }
или так:

Код:
            List<List<int>> a1 = new List<List<int>>();
            for (int i = 0; i < 20; i++)
            {
                a1.Add(new List<int>());
                for (int j = 0; j < 20; j++) { a1[a1.Count-1].Add(j); }
            }
            foreach (List<int> e in a1)
            {
                foreach (int i in e)
                {
                    Console.WriteLine(i);
                }
            }
alexBlack вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
очень надо artyABC Помощь студентам 1 15.12.2008 18:49
Помогите очень надо Крабс Общие вопросы C/C++ 9 27.07.2008 00:45