2016-02-14 3 views
1

Я пытаюсь найти способ иметь по-настоящему динамический массив с двумя измерениями, используя C#. Что-то вроде:C# создание и доступ к массиву с двумя измерениями

string[][] twoD = new string[][]; 
twoD[0] = new string[5]; 
twoD[1] = new string[10]; 
twoD[0,2] = "stuff"; 
twoD[1,3] = "more stuff; 

Я не могу найти простой способ сделать это с помощью Linq, Jagged Массивы и т.д. Любая помощь путем полного примера будут оценены. ТИА!

+1

Что вы имеете в виду "действительно динамичный". Массив - это объект фиксированного размера, который известен во время создания. Если вам нужен динамический размер, вам нужно использовать что-то еще, например List – Ivan

ответ

-1

используется н-размерный массив или зазубренный массив, но не смешивать

1.

var first = new String[2][]; 
first[0] = new String[2]; 

и доступ first[0][0], first[1][0]. и другие.

2.

var second = new String[2,2] 

и доступ second[0,1], second[1,0] и другие

3. или, может быть, вы хотите

var third = new String[2][,]; 
third[0] = new String[2,2]; 
third[0][0,0] = "asdf"; 
+0

В сегменте кода var first = new string [2] []; вам нужно было указать количество измерений как 2. Нужно ли оставить размеры пустыми и динамически добавлять строки и столбцы, а затем индексировать их? –

+0

@BrianE Нет, это не так. Массив всегда является объектом фиксированного размера. Размер всегда устанавливается во время создания. Если вам нужна динамическая коллекция, вам нужно использовать что-то еще, например List, ArrayList ... – Ivan

Смежные вопросы