К сожалению, на C# массивы являются неизменяемыми, поэтому элемент в массив добавить не получится.
Но на этот случай есть два других типа данных - Очереди и Стеки.
Далее из стека мы можем вновь сделать массив.
Рассмотрим Стек.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
using System; using System.Collections; namespace Stacks { class Program { static void Main(string[] args) { Stack basicStak = new Stack(); // Инициализируем стак basicStak.Push("Apple"); // Добавляем значение basicStak.Push("Orange"); basicStak.Push("Banana"); foreach (Object obj in basicStak) // Циклом перебираем все значения { Console.WriteLine("{0}", obj); // Выводим значение } object array = new object[3]; array = basicStak.ToArray(); // На выходе получаем массив } } } |
@vladimir
Для добавления элемента в массив в C# можно использовать методы класса System.Array
.
Если массив имеет фиксированный размер, то необходимо создать новый массив с увеличенным размером и скопировать в него старые элементы вместе с новым элементом.
Например, если у нас есть массив arr
типа int
и мы хотим добавить новый элемент x
, можно сделать следующее:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
int[] arr = new int[5]; // Создаем массив с пятью элементами int x = 10; // Новый элемент, который мы хотим добавить // Создаем новый массив с шестью элементами int[] newArr = new int[arr.Length + 1]; // Копируем старые элементы в новый массив for (int i = 0; i < arr.Length; i++) { newArr[i] = arr[i]; } // Добавляем новый элемент newArr[newArr.Length - 1] = x; // Перезаписываем старый массив новым массивом arr = newArr; |
Если массив имеет изменяемый размер, то можно использовать класс System.Collections.Generic.List<T>
. Для добавления нового элемента в список можно использовать метод List<T>.Add(item)
:
1 2 3 4 5 |
List<int> list = new List<int>(); // Создаем пустой список int x = 10; // Новый элемент, который мы хотим добавить // Добавляем элемент в список list.Add(x); |
Также можно добавлять несколько элементов в список с помощью метода List<T>.AddRange(collection)
:
1 2 3 4 5 |
List<int> list = new List<int>(); // Создаем пустой список int[] arr = { 10, 20, 30 }; // Новые элементы, которые мы хотим добавить // Добавляем элементы в список list.AddRange(arr); |