Класс ImmutableList
Класс ImmutableList<T> из
System.Collections.Immutable хранит элементы
в неизменяемом списке. Любая «правка» создаёт
новый экземпляр, старый остаётся прежним.
Синтаксис
ImmutableList<T> list = ImmutableList<T>.Empty;
Пример
Давайте создадим пустой список и добавим элемент:
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
class Program
{
static void Main()
{
ImmutableList<int> nums = ImmutableList<int>.Empty;
ImmutableList<int> nums2 = nums.Add(1);
Console.WriteLine(nums.IsEmpty);
Console.WriteLine(nums2[0]);
}
}
Результат выполнения кода:
True
1
Пример
Давайте построим список из нескольких Add:
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
class Program
{
static void Main()
{
ImmutableList<int> nums = ImmutableList<int>.Empty.Add(1).Add(2).Add(3);
Console.WriteLine(string.Join(" ", nums));
}
}
Результат выполнения кода:
1 2 3
Пример
Давайте прочитаем элемент по индексу:
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);
Console.WriteLine(nums[2]);
}
}
Результат выполнения кода:
3
Пример
Давайте обойдём immutable список:
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
class Program
{
static void Main()
{
ImmutableList<string> items = ImmutableList.Create("a", "b", "c", "d", "e");
Console.WriteLine(items.Count);
}
}
Результат выполнения кода:
5
Смотрите также
-
метод
Add,
который возвращает новый список -
метод
ToImmutableList,
который замораживает List -
класс
ImmutableArray,
который хранит неизменяемый массив -
класс
List,
который изменяется на месте