Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/1010: Рейтинг темы: голосов - 1010, средняя оценка - 4.83
 Аватар для flashok
97 / 96 / 4
Регистрация: 14.02.2009
Сообщений: 311

Как создать двумерный динамический массив

16.03.2009, 22:15. Показов 188819. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как создать двумерный массив на C# (размерность неизвестна, вычисляется в ходе работы программы) и динамически заполнить его?

пробывал так:
C#
1
2
List<List<string>> MyArray = new List<List<string>> ;
ArrayList Mas=new ArrayList(); Mas.Add(new ArrayList()); Mas.Add(new ArrayList());
но при обращении
C#
1
MaArray[0][0]=6;
Index was out of range. Must be non-negative and less than the size of the collection.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.03.2009, 22:15
Ответы с готовыми решениями:

Как создать двумерный динамический массив на указателях?
Имеется вот такой код, но если поставить **b выбивает ошибку; unsafe public static void smejn() { int kol...

Как создать двумерный динамический массив или список?
как создать двумерный динамический массив или список?

Создать двумерный динамический массив типа int
Как создать двумерный ДИНАМИЧЕСКИЙ массив типа int.

24
 Аватар для deedoc
5 / 5 / 1
Регистрация: 01.03.2009
Сообщений: 55
16.03.2009, 23:41
"Следует отметить, что динамичекский массив может быть только одномерным. Нижняя граница его индекса равна 0, а количество содержащихся в нем элементов возвращает его свойство Length."
конец цитаты=))
"Создание приложений с помощью C#". Валерий Фаронов
0
 Аватар для flashok
97 / 96 / 4
Регистрация: 14.02.2009
Сообщений: 311
16.03.2009, 23:46  [ТС]
А как же такая кострукция:
int[][] ArraY = new int[3][]; //динамический и двумерный
и индексация проходит нормально
2
 Аватар для Mecid
683 / 232 / 16
Регистрация: 15.10.2007
Сообщений: 1,246
17.03.2009, 00:15
В C# все массивы динамические
0
 Аватар для flashok
97 / 96 / 4
Регистрация: 14.02.2009
Сообщений: 311
17.03.2009, 00:50  [ТС]
И к чему эта фраза
0
 Аватар для _NuClear
27 / 27 / 2
Регистрация: 09.12.2008
Сообщений: 138
17.03.2009, 01:00
Mecid нет не все,
одномерный
C#
1
int[] mass = new int[4];
многомерный
C#
1
int[,] mass = new int[4,5];
рваный
C#
1
int[][] mass = new int[4][5];
все с фиксированной длинной. советую почитать книги.
0
 Аватар для flashok
97 / 96 / 4
Регистрация: 14.02.2009
Сообщений: 311
17.03.2009, 01:14  [ТС]
Я не спорю что все массивы динамические -да это так, вы блин помогите как двумерный массив сделать кострукции типа той что я приводил в начале
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
17.03.2009, 02:35
Цитата Сообщение от flashok Посмотреть сообщение
пробывал так:
1. List<List<string>> MyArray = new List<List<string>> ;
2. ArrayList Mas=new ArrayList(); Mas.Add(new ArrayList()); Mas.Add(new ArrayList());

но при обращении
MaArray[0][0]=6;
Index was out of range. Must be non-negative and less than the size of the collection.
Ошибка, т.к. в 1 нет элементов вообще, во 2 во вложенном массиве нет элементов.
0
2 / 2 / 5
Регистрация: 06.04.2010
Сообщений: 176
20.04.2010, 15:50
народ, ктонибудь может с этим помочь? проблема очень актульна, оздание многоерных безразмерных масивов, используя класс list<T> (в нем уже реализована сортировка и многое другое)
0
 Аватар для Sergei
1513 / 780 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
20.04.2010, 15:54
Вы можете конкретно сказать что вам нужно сделать, а как реализовать мы уже решим.
0
24 / 23 / 5
Регистрация: 14.04.2010
Сообщений: 41
20.04.2010, 16:08
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 List<List<int>> Mas = new List<List<int>>();    //динамический двумерный массив
            List<int> row = new List<int>();                //строка массива
            int n = 3;
 
            for (int i = 0; i < n; i++)
            {
                row = new List<int>();
                for (int j = 0; j < n; j++) row.Add(i + j); //строка массива заполняется просто суммой i и j
                Mas.Add(row);                               //строка добавляется в массив
            }
 
            for (int i = 0; i < n; i++)                     //вывод массива
            {             
                for (int j = 0; j < n; j++)
                    Console.WriteLine(Mas[i][j].ToString()+" ");
                Console.WriteLine();
            }
2
2 / 2 / 5
Регистрация: 06.04.2010
Сообщений: 176
20.04.2010, 17:10
таблица, аналог xls
для помещения в ячейки различные типы данных
0
0 / 0 / 0
Регистрация: 26.01.2011
Сообщений: 7
31.01.2011, 21:22
как описать двумерный динамический массив
0
dmf_tuva
28.04.2011, 14:51
описать:
C#
1
int[][] ints = new int[3][];
(msdn c# массив массивов)

задание размера массива = 10;
Array.Resize(ref ints, 10);
Кодило
 Аватар для r0fL
251 / 179 / 23
Регистрация: 25.11.2009
Сообщений: 685
28.04.2011, 15:25
C#
1
2
3
4
List<List<object>> list = new List<List<object>>(); //инициализация
list.Add(new List<object>);//добавление новой строки
list[0].Add("asd")//добавление столбца в новую строку
list[0][0];//обращение к первому столбцу первой строки
Не проверял, писал сам в браузере, но, думаю, должно работать. Вместо object пишите свой тип данных, который будете хранить.
3
0 / 0 / 1
Регистрация: 22.03.2011
Сообщений: 37
01.05.2011, 08:20
C#
1
2
3
4
5
6
7
ArrayList servers = new ArrayList();
 
servers.Add(new ArrayList());
 
(servers[index] as ArrayList).Add("something");
// обращение так
(servers[index] as ArrayList).[index].ToString();
0
 Аватар для Костя Остертаг
35 / 32 / 9
Регистрация: 17.09.2010
Сообщений: 210
02.05.2011, 19:39
вот тебе пример проекта, там только windows form.
где то нашел на пк у себя, может тебе пригодится))
random_matrix.zip
1
02.05.2011, 20:08

Не по теме:

А еще лучше вообще не использовать многомерные массивы, как правило они прекрасно заменяются обычными списками объектов
Трехмерный и выше массивы это вообще write-only говнокод

0
2 / 2 / 0
Регистрация: 22.07.2010
Сообщений: 51
21.05.2012, 09:35
Цитата Сообщение от r0fL Посмотреть сообщение
C#
1
2
3
4
List<List<object>> list = new List<List<object>>(); //инициализация
list.Add(new List<object>);//добавление новой строки
list[0].Add("asd")//добавление столбца в новую строку
list[0][0];//обращение к первому столбцу первой строки
Не проверял, писал сам в браузере, но, думаю, должно работать. Вместо object пишите свой тип данных, который будете хранить.
list.Add(new List<object>);
Выдет ошибку
A new expression requires () or [] after type
2
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
21.05.2012, 10:40
Цитата Сообщение от HypnoticSpecter Посмотреть сообщение
list.Add(new List<object>());
Подправил.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.05.2012, 10:40
Помогаю со студенческими работами здесь

Создать динамический двумерный массив целых чисел
Помогите создать динамический двумерный массив целых чисел (матрица) Базовый класс с выводом массива на экран; очистки массива. Производный...

Как добавить элемент в двумерный динамический массив?
Уважаемые программисты, очень прошу помочь... Есть динамический массив, описанный как: List&lt;List&lt;int&gt;&gt; path = new...

Как сделать двумерный динамический массив типа А
В общем вот пример Ну я думаю что все понятно. Что-то вроде new A Но это естественно не правильно. Так как же сделать?

Двумерный динамический массив: как увеличить количество элементов
Доброй ночи. Возникла проблема создания двумерного массива. По сути я создал массив, но теперь его нужно расширять по мере работы...

Re: Как создать динамический массив?
А нормального массива нету? ArrayList тоже что попало, по индексу обратится нельзя ArrayList arr = new ArrayList(); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru