Enumerable.ToArray<(Of <(TSource>)>) Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Creates an array from a IEnumerable<(Of <(T>)>).
Namespace: System.Linq
Assembly: System.Core (in System.Core.dll)
Syntax
<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
- source
Type: System.Collections.Generic..::.IEnumerable<(Of <(TSource>)>)
An IEnumerable<(Of <(T>)>) to create an array from.
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<(Of <(TSource>)>). When you use instance method syntax to call this method, omit the first parameter.
Exceptions
Exception | Condition |
---|---|
ArgumentNullException | source is nullNothingnullptra null reference (Nothing in Visual Basic). |
Remarks
The ToArray<(Of <(TSource>)>)(IEnumerable<(Of <(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<(Of <(TSource>)>) has similar behavior but returns a List<(Of <(T>)>) instead of an array.
Examples
The following code example demonstrates how to use ToArray<(Of <(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
Windows Phone OS
Supported in: 8.1, 8.0, 7.1, 7.0
Platforms
Windows Phone