List<T>.To Array Метод
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Копирует элементы списка List<T> в новый массив.
Возвращаемое значение
Массив, содержащий копии элементов списка List<T>.
Примеры
В следующем примере демонстрируется ToArray метод и другие методы List<T> класса, которые действуют на диапазонах. В конце примера GetRange метод используется для получения трех элементов из списка, начиная с расположения индекса 2. Метод ToArray вызывается в результирующем List<T>объекте, создавая массив из трех элементов. Отображаются элементы массива.
Что делает .ToArray() и зачем он нужен в данном коде?
Здесь я создал переменную input и переменную output . Я хотел присвоить output перевернутое значение input , почему без .ToArray() код не работает, зачем нужен .ToArray() и что он делает я не понял.
![]()
Метод Reverse (как и большинство остальных методов Linq) возвращает IEnumerable , но у класса String нет конструктора, принимающего IEnumerable<char> , зато есть конструктор, принимающий массив. Метод ToArray как раз и собирает массив на основе входной последовательности IEnumerable .
Кстати, строка реализует IEnumerable<char> , поэтому вызывать Reverse можно прямо на ней, ToCharArray можно не вызывать.
![]()
В качестве дополнения в правильному ответу @Андрей NOP, если ваша цель — развернуть строку, вам нужна более сложная техника.
Например, вот такой код поддерживает символы из старших плоскостей Unicode, а также ненормализуемые акценты:
![]()
Всё ещё ищете ответ? Посмотрите другие вопросы с метками c# linq или задайте свой вопрос.
Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.6.10.42345
Нажимая «Принять все файлы cookie», вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Операции ToArray и ToList

Следующие операции преобразования предоставляют простой и удобный способ преобразования последовательностей в другие типы коллекций.
ToArray
Операция ToArray создает массив типа T из входной последовательности типа T. Эта операция имеет один прототип, описанный ниже:
Эта операция берет входную последовательность source с элементами типа T и возвращает массив элементов типа Т.
Для примера, демонстрирующего работу операции ToArray, понадобится последовательность типа IEnumerable<T>. Последовательность этого типа создается вызовом операции Enumerable.Range(), которая была описана ранее. Имея такую последовательность, можно вызывать операцию ToArray для создания массива, как показано ниже:

Эта операция часто бывает удобной для кэширования последовательности, чтобы она не могла измениться до начала ее перечисления. К тому же, поскольку эта операция не является отложенной и выполняется немедленно, множество перечислений, созданных на одном массиве, всегда будут видеть одни и те же данные.
ToList
Операция ToList создает List типа T из входной последовательности типа Т. Эта операция имеет один прототип, описанный ниже:
Данная операция принимает последовательность по имени source элементов типа T и возвращает список List элементов типа Т. Ниже демонстрируется применение операции ToList:
В приведенном коде используется массив, состоящий из названий машин. Этот массив преобразуется в список List<string>. Вот результат:

Эта операция часто полезна для кэширования последовательности, чтобы она не могла измениться перед ее перечислением. Также, поскольку эта операция не является отложенной и выполняется немедленно, множество перечислений на созданном списке List<T> всегда видят одинаковые данные.