Прочитать на английском

Поделиться через


Enumerable.ToArray<TSource>(IEnumerable<TSource>) Метод

Определение

Создает массив из объекта IEnumerable<T>.

C#
public static TSource[] ToArray<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);

Параметры типа

TSource

Тип элементов source.

Параметры

source
IEnumerable<TSource>

Объект IEnumerable<T>, на основе которого создается массив.

Возвращаемое значение

TSource[]

Массив, содержащий элементы из входной последовательности.

Исключения

source имеет значение null.

Примеры

В следующем примере кода показано, как использовать ToArray для принудительной немедленной оценки запроса и возврата массива результатов.

C#
class Package
{
    public string Company { get; set; }
    public double Weight { get; set; }
}

public static void ToArrayEx1()
{
    List<Package> packages =
        new List<Package>
            { new Package { Company = "Coho Vineyard", Weight = 25.2 },
              new Package { Company = "Lucerne Publishing", Weight = 18.7 },
              new Package { Company = "Wingtip Toys", Weight = 6.0 },
              new Package { Company = "Adventure Works", Weight = 33.8 } };

    string[] companies = packages.Select(pkg => pkg.Company).ToArray();

    foreach (string company in companies)
    {
        Console.WriteLine(company);
    }
}

/*
 This code produces the following output:

 Coho Vineyard
 Lucerne Publishing
 Wingtip Toys
 Adventure Works
*/

Комментарии

Метод ToArray<TSource>(IEnumerable<TSource>) выполняет немедленную оценку запроса и возвращает массив, содержащий результаты запроса. Этот метод можно добавить в запрос, чтобы получить кэшированную копию результатов запроса.

ToList имеет аналогичное поведение, но возвращает List<T> вместо массива.

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0