Что такое выражение коллекции при создании экземпляра List<T>

Я не понимаю, что Intellisense предлагает в качестве замены существующего кода (на фото здесь).

В случае, если изображение будет удалено позже, предложение Intellisense, изображенное на рисунке, предлагает заменить

      List<int> x = new List<int>();
x.AddRange(Enumerable.Range(0, 300));

с

      List<int> x = [.. Enumerable.Range(0, 300)];

Я предполагаю, что..— это оператор диапазона, который был представлен в C# 8.0, но документация по этому предлагаемому использованию отсутствует.

  • Существует ли неявный «новый список», когда оператор диапазона используется таким образом?
  • Я понимаю, что левая часть оператора .. может быть пустой (подразумевается ноль), но я не понимаю, как перечислимый диапазон можно использовать в качестве правой части оператора ...

Если бы кто-нибудь мог объяснить, что происходит «под капотом» этого конкретного использования [x..y] в отношении создания нового списка, я был бы признателен.

0 ответов

Другие вопросы по тегам