2010-12-09 2 views
2

Когда я могу добавить значения в массив, возникает Исключение. В C# я могу установить значения без инициализации длины массива.добавление значений в массив без инициализации длина

int[] test; 
test[0] = 10; 
+1

Массив: a) ссылочный тип b) структура данных фиксированной длины. Вам может понадобиться этот сахар `int [] test = {10};` или `var test = new [] {10};`, но в противном случае то, что вы просите, невозможно. Возможно, вам нужна растущая коллекция, такая как `List `? – Ani 2010-12-09 14:52:45

ответ

1

Только так

int[] a = {10}; 

Но длина массива будет 1 после этого.

11

Нет, если вы хотите, структуру данных, которая динамически увеличивается по мере Add пунктов, вам нужно будет использовать что-то вроде List<T>. Массивы фиксированы по размеру.

Если у вас есть

int[] test; 

вы не инстанцированный массив, вы просто объявили, что test является переменной типа int[]. Вы должны также создавать новый массив Пока size положителен через

int[] test = new int[size]; 

, то вы можете смело сказать

int[0] = 10; 

В самом деле, можно сказать,

int[index] = 10 

до тех пор, 0 <= index < size.

Кроме того, вы можете также объявить, экземпляр и инициализировать новый массив в одном операторе через

int[] test = new int[] { 1, 2, 3, 4 }; 

Обратите внимание, что здесь вы не должны указывать размер.

0

Используйте List<int> t = new List<int>() и используйте t.Add() способ.

3

Вы не можете сделать это с помощью массива, per se, но вы можете использовать Список.

 List<int> test = new List<int>(); 
     test.Add(10); 
Смежные вопросы