Метод Resize
Статический метод Resize класса
Array
принимает ссылку ref на одномерный
массив и новый размер. Старые элементы
сохраняются, недостающие получают значение
по умолчанию. Переменная массива после
вызова указывает на новый экземпляр.
Синтаксис
Array.Resize(ref array, newSize);
Пример
Давайте увеличим массив и проверим старые ячейки:
using System;
class Program
{
static void Main()
{
int[] nums = {1, 2, 3, 4, 5};
Array.Resize(ref nums, 8);
Console.WriteLine(nums[4]);
Console.WriteLine(nums[7]);
Console.WriteLine(nums.Length);
}
}
Результат выполнения кода:
5
0
8
Пример
Давайте уменьшим массив:
using System;
class Program
{
static void Main()
{
int[] nums = {1, 2, 3, 4, 5};
Array.Resize(ref nums, 3);
Console.WriteLine(string.Join(" ", nums));
}
}
Результат выполнения кода:
"1 2 3"
Пример
Давайте изменим длину массива строк:
using System;
class Program
{
static void Main()
{
string[] items = {"a", "b", "c", "d", "e"};
Array.Resize(ref items, 6);
Console.WriteLine(items[5] == null);
}
}
Результат выполнения кода:
True