Enumerable.ToList<TSource> Method

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

Namespace:  System.Linq
Assemblies:   System.Linq (in System.Linq.dll)
  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. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

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)
            {
                Console.WriteLine(length);
            }

            /*
             This code produces the following output:

             5
             12
             6
             5
             6
             9
             5
             10
            */

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft