Enumerable.ToArray<TSource>(IEnumerable<TSource>) Method


Создает массив из объекта IEnumerable<T>.Creates an array from a IEnumerable<T>.

generic <typename TSource>
 static cli::array <TSource> ^ ToArray(System::Collections::Generic::IEnumerable<TSource> ^ source);
public static TSource[] ToArray<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);
static member ToArray : seq<'Source> -> 'Source[]
Public Function ToArray(Of TSource) (source As IEnumerable(Of TSource)) As TSource()

Type Parameters


Тип элементов source.The type of the elements of source.



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



Массив, содержащий элементы из входной последовательности.An array that contains the elements from the input sequence.


Параметр source равен null.source is null.


В следующем примере кода показано, как использовать ToArray для принудительной оценки немедленного запроса и возврата массива результатов.The following code example demonstrates how to use ToArray to force immediate query evaluation and return an array of results.

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)

 This code produces the following output:

 Coho Vineyard
 Lucerne Publishing
 Wingtip Toys
 Adventure Works
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Sub ToArrayEx1()
    ' Create a list of Package values.
    Dim packages As New List(Of Package)(New Package() _
     {New Package With {.Company = "Coho Vineyard", .Weight = 25.2},
      New Package With {.Company = "Lucerne Publishing", .Weight = 18.7},
      New Package With {.Company = "Wingtip Toys", .Weight = 6.0},
      New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Project the Company values from each item in the list
    ' and put them into an array.
    Dim companies() As String =
    packages _
    .Select(Function(pkg) pkg.Company) _

    ' Display the results.
    Dim output As New System.Text.StringBuilder
    For Each company As String In companies
End Sub

' This code produces the following output:
' Coho Vineyard
' Lucerne Publishing
' Wingtip Toys
' Adventure Works


Метод ToArray<TSource>(IEnumerable<TSource>) вызывает немедленное вычисление запросов и возвращает массив, содержащий результаты запроса.The ToArray<TSource>(IEnumerable<TSource>) method forces immediate query evaluation and returns an array that contains the query results. Этот метод можно добавить в запрос, чтобы получить кэшированную копию результатов запроса.You can append this method to your query in order to obtain a cached copy of the query results.

ToList имеет аналогичное поведение, но возвращает List<T> вместо массива.ToList has similar behavior but returns a List<T> instead of an array.

Applies to