Как добавить к концу массива C#?

Или Cast или Convert:

Синтаксис для CAST:

CAST ( expression AS data_type [ (length ) ])

Синтаксис для CONVERT:

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

http://msdn.microsoft.com/en-us/library/ms187928.aspx

На самом деле, так как Вы попросили определенный формат:

REPLACE(CONVERT(varchar(10), Date, 102), '.', '-')

14
задан George Stocker 3 December 2009 в 02:38
поделиться

6 ответов

Массивы имеют фиксированный размер, что означает, что вы не можете добавить больше элементов, чем количество, выделенное во время создания. Если вам нужна коллекция с автоматическим изменением размеров, вы можете использовать List или ArrayList

Пример:

// using collection initializers to add two products at creation time
List<Product> products = new List<Product>{new Product("One",5), new Product("Two",3) };

// then add more elements as needed
products.Add(new Product("Three",8));
28
ответ дан 1 December 2019 в 06:18
поделиться

Используйте список, как упоминали другие люди. Если вы настроены на массивы, используйте

Array.Resize<Product>(ref product, your new size);

. Если вы собираетесь добавлять только пару продуктов (в течение срока службы вашего массива), просто сделайте что-нибудь вроде

Array.Resize<Product>(ref product, product.Length + 1);

Если вы собираетесь добавлять много продуктов , вы можете захотеть сделать что-то похожее на то, что делает List - например:

Array.Resize<Product>(ref product, product.Length * 2);
16
ответ дан 1 December 2019 в 06:18
поделиться

Я думаю, вам понадобится коллекция List , чтобы посмотреть на ваш код. Затем просто вызовите для него метод Add ()

3
ответ дан 1 December 2019 в 06:18
поделиться

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

Array.Resize<product>(ref value, 5);

Если вы хотите добавить элементы в коллекцию, вы должны вместо этого использовать List:

private List<product> value = new List<product>();
value.Add(new product("One",5));
value.Add(new product("Two",3));
value.Add(new product("Three",8));

value.Add(new product("Four",2));

Изменить:
Если вы хотите изменить размер массива, вы можете увеличить размер вместо того, чтобы изменять его до определенного значения:

int index = value.Length;
Array.Resize<product>(ref value, index + 1);
value[index] = ...
2
ответ дан 1 December 2019 в 06:18
поделиться

Массивы имеют нулевой индекс, поэтому к массиву, инициализированному до размера 4, можно получить доступ только до индекса 3 ...

Если вы хотите, чтобы массив увеличивался, вы должны необходимо либо инициализировать массив, по крайней мере, такого размера, до которого вы хотите иметь возможность расти, либо вам придется создать новый массив с новым большим размером и скопировать старый массив; не очень эффективно.

В этом случае лучше использовать коллекцию в виде списка, а не массива, чтобы размер мог динамически увеличиваться.

1
ответ дан 1 December 2019 в 06:18
поделиться

Вам, вероятно, также следует взглянуть на Массив по сравнению со списком: когда какой использовать?

0
ответ дан 1 December 2019 в 06:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: