добавление значений в массив без инициализации длины - PullRequest
2 голосов
/ 09 декабря 2010

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

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

Ответы [ 5 ]

11 голосов
/ 09 декабря 2010

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

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

int[] test;

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

int[] test = new int[size];

Пока size положительно, вы можете смело сказать

int[0] = 10;

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

int[index] = 10

пока 0 <= index < size.

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

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

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

3 голосов
/ 09 декабря 2010

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

        List<int> test = new List<int>();
        test.Add(10);
1 голос
/ 09 декабря 2010

Только так

int[] a = {10};

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

0 голосов
/ 09 декабря 2010

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

0 голосов
/ 09 декабря 2010

Попробуйте

int[] x = new int[] { 1, 2, 3, 4 };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...