Как создать одномерный динамический массив в C #? - PullRequest
3 голосов
/ 20 апреля 2010

нубский вопрос по c #: как создать одномерный динамический массив? И как это поменять позже?

спасибо.

Ответы [ 5 ]

14 голосов
/ 20 апреля 2010

Вместо использования массива вы можете использовать объект List<> в C #.

List<int> integerList = new List<int>();

Для итерации по элементам, содержащимся в списке, используйте оператор foreach:

foreach(int i in integerList)
{
    // do stuff with i
}

Вы можете добавлять элементы в объект списка с помощью функций Add() и Remove().

for(int i = 0; i < 10; i++)
{
    integerList.Add(i);
}

integerList.Remove(6);
integerList.Remove(7);

Вы можете преобразовать List<T> в массив, используя функцию ToArray():

int[] integerArray = integerList.ToArray();

Вот документация для List<> объекта.

3 голосов
/ 20 апреля 2010

Конечно, звучит так, как будто вы должны смотреть на List<T>.

1 голос
/ 20 апреля 2010

Как уже упоминалось, List<T>, скорее всего, то, что вы хотите. Но для полноты вы можете изменить размер массива статическим методом Array.Resize. Пример:

int[] array = { 1, 2, 3 };
Array.Resize(ref array, 4);
0 голосов
/ 20 апреля 2010

Массивы не являются динамическими. Если вы хотите что-то динамическое, используйте 'List ' или другую коллекцию. Вы всегда можете вызвать метод ToArray () , чтобы получить обратно массив.

0 голосов
/ 20 апреля 2010

используйте либо:

ArrayList  //really you should avoid this.
or List<T>

так

var my_list = new List<Your_List_Type_Here>() (Like List<String>);

Этот способ добавить вас просто:

my_list.Add(Your_Object);

Ссылка на общий список: http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx

Если вы хотите вернуться к массиву, просто вызовите метод ToArray () .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...