Export (0) Print
Expand All

Enumerable.ToArray<TSource> Method

Creates an array from a IEnumerable<T>.

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

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

Type Parameters

TSource

The type of the elements of source.

Parameters

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.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerable<TSource>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

ExceptionCondition
ArgumentNullException

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)
                {
                    Console.WriteLine(company);
                }
            }

            /*
             This code produces the following output:

             Coho Vineyard
             Lucerne Publishing
             Wingtip Toys
             Adventure Works
            */

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft