ToArray(TSource) Method

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


Creates an array from a IEnumerable<T>.

Namespace:   System.Linq
Assembly:  System.Core (in System.Core.dll)

public static TSource[] ToArray<TSource>(
	this IEnumerable<TSource> source


Type: System.Collections.Generic.IEnumerable<TSource>

An IEnumerable<T> to create an array from.

Return Value

Type: TSource[]

An array that contains the elements from the input sequence.

Type Parameters


The type of the elements of source.

Exception Condition

source is null.

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<TSource> has similar behavior but returns a List<T> instead of an array.

The following code example demonstrates how to use ToArray<TSource> 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

Universal Windows Platform
Available since 4.5
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
© 2015 Microsoft