Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
51 of 1492 menu
◀ ▶

Оператор spread

Внутри выражения коллекции запись ..коллекция разворачивает элементы массива или другой поддерживаемой коллекции на месте. Между фрагментами можно ставить отдельные значения - так собирают новый массив из частей.

Синтаксис

тип[] имя = [..источник, элемент, ..другой];

Пример

Давайте объединим два массива с числом 0 между ними:

using System; class Program { static void Main() { int[] left = {1, 2}; int[] right = {4, 5}; int[] res = [..left, 3, ..right]; Console.WriteLine(string.Join(" ", res)); } }

Результат выполнения кода:

1 2 3 4 5

Пример

Давайте скопируем массив через .. в новый:

using System; class Program { static void Main() { int[] src = {1, 2, 3, 4, 5}; int[] copy = [..src]; Console.WriteLine(string.Join(" ", copy)); } }

Результат выполнения кода:

1 2 3 4 5

Пример

Давайте добавим элемент в начало через spread:

using System; class Program { static void Main() { int[] tail = {2, 3, 4, 5}; int[] res = [1, ..tail]; Console.WriteLine(res[0]); Console.WriteLine(res.Length); } }

Результат выполнения кода:

1 5

Пример

Давайте соберём строковый массив из двух частей:

using System; class Program { static void Main() { string[] head = {"a", "b"}; string[] tail = {"d", "e"}; string[] res = [..head, "c", ..tail]; Console.WriteLine(string.Join("", res)); } }

Результат выполнения кода:

"abcde"

Смотрите также

  • выражение коллекции,
    в котором используется ..
  • параметр params,
    который принимает список аргументов
  • оператор диапазона,
    который вырезает часть массива
  • цикл foreach,
    который обходит элементы по порядку
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить