Enumerable.ToDictionary<'TSource, 'TKey> Method (IEnumerable<'TSource>, Func<'TSource, 'TKey>)
![]() |
---|
The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience. |
Creates a Dictionary<'TKey, 'TValue> from an IEnumerable<'T> according to a specified key selector function.
Assembly: System.Core (in System.Core.dll)
static member ToDictionary<'TSource, 'TKey> : source:IEnumerable<'TSource> * keySelector:Func<'TSource, 'TKey> -> Dictionary<'TKey, 'TSource>
Parameters
- source
-
Type:
System.Collections.Generic.IEnumerable<'TSource>
An IEnumerable<'T> to create a Dictionary<'TKey, 'TValue> from.
- keySelector
-
Type:
System.Func<'TSource, 'TKey>
A function to extract a key from each element.
Return Value
Type: System.Collections.Generic.Dictionary<'TKey, 'TSource>A Dictionary<'TKey, 'TValue> that contains keys and values.
Type Parameters
- TSource
The type of the elements of source.
- TKey
The type of the key returned by keySelector.
Exception | Condition |
---|---|
ArgumentNullException | source or keySelector is null. -or- keySelector produces a key that is null. |
ArgumentException | keySelector produces duplicate keys for two elements. |
The ToDictionary<'TSource, 'TKey>(IEnumerable<'TSource>, Func<'TSource, 'TKey>) method uses the default equality comparer Default to compare keys.
The following code example demonstrates how to use ToDictionary<'TSource, 'TKey>(IEnumerable<'TSource>, Func<'TSource, 'TKey>) to create a Dictionary<'TKey, 'TValue> by using a key selector.
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