Share via

Facebook x.com LinkedIn Email

Enumerable.ToArray<TSource> Method

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Creates an array from a IEnumerable<T>.

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

Syntax

'Declaration
<ExtensionAttribute> _
Public Shared Function ToArray(Of TSource) ( _
 source As IEnumerable(Of TSource) _
) As TSource()
public static TSource[] ToArray<TSource>(
 this IEnumerable<TSource> source
)

Type Parameters

  • TSource
    The type of the elements of source.

Parameters

Return Value

Type: array<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.

Exceptions

Exception Condition
ArgumentNullException

source is nulla null reference (Nothing in Visual Basic).

Remarks

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.

Examples

The following code example demonstrates how to use ToArray<TSource> to force immediate query evaluation and return an array of results.

 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) _
 .ToArray()
 ' Display the results.
 Dim output As New System.Text.StringBuilder
 For Each company As String In companies
 output.AppendLine(company)
 Next
 outputBlock.Text &= output.ToString() & vbCrLf
 End Sub
 ' This code produces the following output:
 '
 ' Coho Vineyard
 ' Lucerne Publishing
 ' Wingtip Toys
 ' Adventure Works
 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)
 {
 outputBlock.Text += company + "\n";
 }
 }
 /*
 This code produces the following output:
 Coho Vineyard
 Lucerne Publishing
 Wingtip Toys
 Adventure Works
 */

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.


  • Last updated on 2011年11月17日