Метод 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