Enumerable.ToList<TSource> Method

May 11, 2014

Creates a List<T> from an IEnumerable<T>.

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

public static List<TSource> ToList<TSource>(
	this IEnumerable<TSource> source
)

Type Parameters

TSource

The type of the elements of source.

Parameters

source
Type: System.Collections.Generic.IEnumerable<TSource>
The IEnumerable<T> to create a List<T> from.

Return Value

Type: System.Collections.Generic.List<TSource>
A List<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<TSource>. When you use instance method syntax to call this method, omit the first parameter.

ExceptionCondition
ArgumentNullException

source is null.

The ToList<TSource>(IEnumerable<TSource>) method forces immediate query evaluation and returns a List<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<TSource> has similar behavior but returns an array instead of a List<T>.

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


      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
      */



Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2014 Microsoft