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

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

See Also

Reference

Enumerable Class

System.Linq Namespace