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