Skip to main content
EnumerableToDictionary Method
 

Creates a Dictionary from an IEnumerable according to specified key selector and element selector functions.

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

public static Dictionary<TKey, TElement> ToDictionary<TSource, TKey, TElement>(
	this IEnumerable<TSource> source,
	Func<TSource, TKey> keySelector,
	Func<TSource, TElement> elementSelector
)
public:
generic<typename TSource, typename TKey, typename TElement>
[ExtensionAttribute]
static Dictionary<TKey, TElement>^ ToDictionary(
	IEnumerable<TSource>^ source,
	Func<TSource, TKey>^ keySelector,
	Func<TSource, TElement>^ elementSelector
)
static member ToDictionary<'TSource, 'TKey, 'TElement> : 
        source:IEnumerable<'TSource> *
        keySelector:Func<'TSource, 'TKey> *
        elementSelector:Func<'TSource, 'TElement> -> Dictionary<'TKey, 'TElement>
<ExtensionAttribute>
Public Shared Function ToDictionary(Of TSource, TKey, TElement) (
	source As IEnumerable(Of TSource),
	keySelector As Func(Of TSource, TKey),
	elementSelector As Func(Of TSource, TElement)
) As Dictionary(Of TKey, TElement)

Parameters

source
Type:

An IEnumerable to create a Dictionary from.

keySelector
Type:

A function to extract a key from each element.

elementSelector
Type:

A transform function to produce a result element value from each element.

Return Value

Type:

A Dictionary that contains values of type TElement selected from the input sequence.

Type Parameters

TSource

The type of the elements of source.

TKey

The type of the key returned by keySelector.

TElement

The type of the value returned by elementSelector.

Exception Condition
ArgumentNullException

source or keySelector or elementSelector is null.

-or-

keySelector produces a key that is null.

ArgumentException

keySelector produces duplicate keys for two elements.

The ToDictionary method uses the default equality comparer to compare keys.

Universal Windows Platform
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top