Enumerable.ToList<(Of <(TSource>)>) Method

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Creates a List<(Of <(T>)>) from an IEnumerable<(Of <(T>)>).

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

Syntax

<ExtensionAttribute> _
Public Shared Function ToList(Of TSource) ( _
    source As IEnumerable(Of TSource) _
) As List(Of TSource)
public static List<TSource> ToList<TSource>(
    this IEnumerable<TSource> source
)

Type Parameters

  • TSource
    The type of the elements of source.

Parameters

Return Value

Type: System.Collections.Generic..::.List<(Of <(TSource>)>)
A List<(Of <(T>)>) that contains 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 ToList<(Of <(TSource>)>)(IEnumerable<(Of <(TSource>)>)) method forces immediate query evaluation and returns a List<(Of <(T>)>) that contains the query results. You can append this method to your query in order to obtain a cached copy of the query results.

ToArray<(Of <(TSource>)>) has similar behavior but returns an array instead of a List<(Of <(T>)>).

Examples

The following code example demonstrates how to use ToList<(Of <(TSource>)>) to force immediate query evaluation and return a List<(Of <(T>)>) that contains the query results.

      ' Create an array of strings.
      Dim fruits() As String = _
          {"apple", "passionfruit", "banana", "mango", _
           "orange", "blueberry", "grape", "strawberry"}

      ' Project the length of each string and 
      ' put the length values into a List object.
      Dim lengths As List(Of Integer) = _
          fruits _
          .Select(Function(fruit) fruit.Length) _
          .ToList()

      ' Display the results.
      Dim output As New System.Text.StringBuilder
      For Each length As Integer In lengths
         output.AppendLine(length)
      Next
      outputBlock.Text &= output.ToString() & vbCrLf

      ' This code produces the following output:
      '
      ' 5
      ' 12
      ' 6
      ' 5
      ' 6
      ' 9
      ' 5
      ' 10
      string[] fruits = { "apple", "passionfruit", "banana", "mango", 
                               "orange", "blueberry", "grape", "strawberry" };

      List<int> lengths = fruits.Select(fruit => fruit.Length).ToList();

      foreach (int length in lengths)
      {
         outputBlock.Text += length + "\n";
      }

      /*
       This code produces the following output:

       5
       12
       6
       5
       6
       9
       5
       10
      */

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