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

Метод ToBuilder

Метод ToBuilder класса ImmutableList<T> возвращает ImmutableList<T>.Builder, куда можно добавлять элементы, а затем вызвать ToImmutable.

Синтаксис

ImmutableList<T>.Builder builder = list.ToBuilder();

Пример

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

using System; using System.Collections.Generic; using System.Collections.Immutable; class Program { static void Main() { ImmutableList<int> nums = ImmutableList.Create(1, 2, 3); var builder = nums.ToBuilder(); builder.Add(4); builder.Add(5); ImmutableList<int> res = builder.ToImmutable(); Console.WriteLine(string.Join(" ", res)); } }

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

1 2 3 4 5

Пример

Давайте проверим, что исходный список не изменился:

using System; using System.Collections.Generic; using System.Collections.Immutable; class Program { static void Main() { ImmutableList<int> nums = ImmutableList.Create(1, 2, 3, 4, 5); var builder = nums.ToBuilder(); builder.Add(6); Console.WriteLine(nums.Count); } }

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

5

Пример

Давайте изменить элемент в builder:

using System; using System.Collections.Generic; using System.Collections.Immutable; class Program { static void Main() { ImmutableList<int> nums = ImmutableList.Create(1, 2, 3, 4, 5); var builder = nums.ToBuilder(); builder[0] = 10; Console.WriteLine(builder.ToImmutable()[0]); } }

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

10

Пример

Давайте работать со строками:

using System; using System.Collections.Generic; using System.Collections.Immutable; class Program { static void Main() { ImmutableList<string> items = ImmutableList.Create("a", "b", "c"); var builder = items.ToBuilder(); builder.Add("d"); Console.WriteLine(builder.ToImmutable().Count); } }

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

4

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

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