Share via

Facebook x.com LinkedIn Email

Enumerable.ToList<TSource> Method

Microsoft Silverlight will reach end of support after October 2021. Learn more.

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

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

Syntax

'Declaration
<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<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.

Exceptions

Exception Condition
ArgumentNullException

source is nulla null reference (Nothing in Visual Basic).

Remarks

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>.

Examples

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.

 ' 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

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.


  • Last updated on 2011年11月18日