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

Класс 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,
    который изменяется на месте
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить