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

Метод ToImmutableList

Метод ToImmutableList является расширением для IEnumerable<T>, которое строит ImmutableList<T> из последовательности или List<T>.

Синтаксис

ImmutableList<T> imm = source.ToImmutableList();

Пример

Давайте заморозим List:

using System; using System.Collections.Generic; using System.Collections.Immutable; class Program { static void Main() { List<int> nums = new List<int> {1, 2, 3, 4, 5}; ImmutableList<int> imm = nums.ToImmutableList(); Console.WriteLine(string.Join(" ", imm)); } }

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

1 2 3 4 5

Пример

Давайте убедимся, что List можно менять отдельно:

using System; using System.Collections.Generic; using System.Collections.Immutable; class Program { static void Main() { List<int> nums = new List<int> {1, 2, 3, 4, 5}; ImmutableList<int> imm = nums.ToImmutableList(); nums[0] = 10; Console.WriteLine(imm[0]); } }

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

1

Пример

Давайте создать из массива:

using System; using System.Collections.Generic; using System.Collections.Immutable; class Program { static void Main() { ImmutableList<int> imm = new[] {1, 2, 3, 4, 5}.ToImmutableList(); Console.WriteLine(imm.Count); } }

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

5

Пример

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

using System; using System.Collections.Generic; using System.Collections.Immutable; class Program { static void Main() { List<string> items = new List<string> {"a", "b", "c", "d", "e"}; ImmutableList<string> imm = items.ToImmutableList(); Console.WriteLine(imm[2]); } }

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

"c"

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

  • метод ToBuilder,
    который правит пачкой перед freeze
  • метод ToImmutableArray,
    который замораживает массив
  • класс List,
    который можно преобразовать
  • метод Add,
    который расширяет immutable список
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить