Enumerable.ToDictionary Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt ein Dictionary<TKey,TValue> aus einem IEnumerable<T>.
Überlädt
ToDictionary<TKey,TValue>(IEnumerable<ValueTuple<TKey,TValue>>, IEqualityComparer<TKey>)
- Quelle:
- ToCollection.cs
- Quelle:
- ToCollection.cs
Erstellt ein Wörterbuch aus einer Enumeration gemäß dem angegebenen Schlüsselgleichheitsvergleich.
public:
generic <typename TKey, typename TValue>
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::Dictionary<TKey, TValue> ^ ToDictionary(System::Collections::Generic::IEnumerable<ValueTuple<TKey, TValue>> ^ source, System::Collections::Generic::IEqualityComparer<TKey> ^ comparer);
public static System.Collections.Generic.Dictionary<TKey,TValue> ToDictionary<TKey,TValue> (this System.Collections.Generic.IEnumerable<(TKey Key, TValue Value)> source, System.Collections.Generic.IEqualityComparer<TKey>? comparer);
static member ToDictionary : seq<ValueTuple<'Key, 'Value>> * System.Collections.Generic.IEqualityComparer<'Key> -> System.Collections.Generic.Dictionary<'Key, 'Value>
<Extension()>
Public Function ToDictionary(Of TKey, TValue) (source As IEnumerable(Of ValueTuple(Of TKey, TValue)), comparer As IEqualityComparer(Of TKey)) As Dictionary(Of TKey, TValue)
Typparameter
- TKey
Der Typ der Schlüssel aus Elementen von source
.
- TValue
Der Typ der Werte aus Elementen von source
.
Parameter
- source
- IEnumerable<ValueTuple<TKey,TValue>>
Die Enumeration, aus der ein Wörterbuch erstellt werden soll.
- comparer
- IEqualityComparer<TKey>
Ein Gleichheitsvergleich zum Vergleichen von Schlüsseln.
Gibt zurück
Ein Wörterbuch, das Schlüssel und Werte aus source
enthält.
Ausnahmen
source
ist ein null
-Verweis.
source
enthält mindestens einen doppelten Schlüssel.
Hinweise
Wenn comparer
ist null
, wird der Standardmäßige Gleichheitsvergleich Default zum Vergleichen von Schlüsseln verwendet.
Gilt für:
ToDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>)
- Quelle:
- ToCollection.cs
- Quelle:
- ToCollection.cs
Erstellt ein Wörterbuch aus einer Enumeration gemäß dem angegebenen Schlüsselvergleich.
public:
generic <typename TKey, typename TValue>
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::Dictionary<TKey, TValue> ^ ToDictionary(System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<TKey, TValue>> ^ source, System::Collections::Generic::IEqualityComparer<TKey> ^ comparer);
public static System.Collections.Generic.Dictionary<TKey,TValue> ToDictionary<TKey,TValue> (this System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>> source, System.Collections.Generic.IEqualityComparer<TKey>? comparer);
static member ToDictionary : seq<System.Collections.Generic.KeyValuePair<'Key, 'Value>> * System.Collections.Generic.IEqualityComparer<'Key> -> System.Collections.Generic.Dictionary<'Key, 'Value>
<Extension()>
Public Function ToDictionary(Of TKey, TValue) (source As IEnumerable(Of KeyValuePair(Of TKey, TValue)), comparer As IEqualityComparer(Of TKey)) As Dictionary(Of TKey, TValue)
Typparameter
- TKey
Der Typ der Schlüssel aus Elementen von source
.
- TValue
Der Typ der Werte aus Elementen von source
.
Parameter
- source
- IEnumerable<KeyValuePair<TKey,TValue>>
Die Enumeration, aus der ein Wörterbuch erstellt werden soll.
- comparer
- IEqualityComparer<TKey>
Ein Gleichheitsvergleich zum Vergleichen von Schlüsseln.
Gibt zurück
Ein Wörterbuch, das Schlüssel und Werte aus source
enthält.
Ausnahmen
source
ist ein null
-Verweis.
source
enthält mindestens einen doppelten Schlüssel.
Hinweise
Wenn comparer
ist null
, wird der Standardmäßige Gleichheitsvergleich Default zum Vergleichen von Schlüsseln verwendet.
Gilt für:
ToDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>)
- Quelle:
- ToCollection.cs
- Quelle:
- ToCollection.cs
Erstellt ein Wörterbuch aus einer Enumeration gemäß dem Standardvergleich für den Schlüsseltyp.
public:
generic <typename TKey, typename TValue>
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::Dictionary<TKey, TValue> ^ ToDictionary(System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<TKey, TValue>> ^ source);
public static System.Collections.Generic.Dictionary<TKey,TValue> ToDictionary<TKey,TValue> (this System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>> source);
static member ToDictionary : seq<System.Collections.Generic.KeyValuePair<'Key, 'Value>> -> System.Collections.Generic.Dictionary<'Key, 'Value>
<Extension()>
Public Function ToDictionary(Of TKey, TValue) (source As IEnumerable(Of KeyValuePair(Of TKey, TValue))) As Dictionary(Of TKey, TValue)
Typparameter
- TKey
Der Typ der Schlüssel aus Elementen von source
.
- TValue
Der Typ der Werte aus Elementen von source
.
Parameter
- source
- IEnumerable<KeyValuePair<TKey,TValue>>
Die Enumeration, aus der ein Wörterbuch erstellt werden soll.
Gibt zurück
Ein Wörterbuch, das Schlüssel und Werte von source
enthält und den Standardvergleich für den Schlüsseltyp verwendet.
Ausnahmen
source
ist ein null
-Verweis.
source
enthält mindestens einen doppelten Schlüssel.
Gilt für:
ToDictionary<TKey,TValue>(IEnumerable<ValueTuple<TKey,TValue>>)
- Quelle:
- ToCollection.cs
- Quelle:
- ToCollection.cs
Erstellt ein Wörterbuch aus einer Enumeration gemäß dem Standardvergleich für den Schlüsseltyp.
public:
generic <typename TKey, typename TValue>
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::Dictionary<TKey, TValue> ^ ToDictionary(System::Collections::Generic::IEnumerable<ValueTuple<TKey, TValue>> ^ source);
public static System.Collections.Generic.Dictionary<TKey,TValue> ToDictionary<TKey,TValue> (this System.Collections.Generic.IEnumerable<(TKey Key, TValue Value)> source);
static member ToDictionary : seq<ValueTuple<'Key, 'Value>> -> System.Collections.Generic.Dictionary<'Key, 'Value>
<Extension()>
Public Function ToDictionary(Of TKey, TValue) (source As IEnumerable(Of ValueTuple(Of TKey, TValue))) As Dictionary(Of TKey, TValue)
Typparameter
- TKey
Der Typ der Schlüssel aus Elementen von source
.
- TValue
Der Typ der Werte aus Elementen von source
.
Parameter
- source
- IEnumerable<ValueTuple<TKey,TValue>>
Die Enumeration, aus der ein Wörterbuch erstellt werden soll.
Gibt zurück
Ein Wörterbuch, das Schlüssel und Werte von source
enthält und den Standardvergleich für den Schlüsseltyp verwendet.
Ausnahmen
source
ist ein null
-Verweis.
source
enthält mindestens einen doppelten Schlüssel.
Gilt für:
ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)
- Quelle:
- ToCollection.cs
- Quelle:
- ToCollection.cs
- Quelle:
- ToCollection.cs
Erstellt ein Dictionary<TKey,TValue> aus einem IEnumerable<T> entsprechend der angegebenen Schlüsselauswahlfunktion und Elementauswahlfunktion
public:
generic <typename TSource, typename TKey, typename TElement>
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::Dictionary<TKey, TElement> ^ ToDictionary(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, TKey> ^ keySelector, Func<TSource, TElement> ^ elementSelector);
public static System.Collections.Generic.Dictionary<TKey,TElement> ToDictionary<TSource,TKey,TElement> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector, Func<TSource,TElement> elementSelector);
static member ToDictionary : seq<'Source> * Func<'Source, 'Key> * Func<'Source, 'Element> -> System.Collections.Generic.Dictionary<'Key, 'Element>
<Extension()>
Public 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)
Typparameter
- TSource
Der Typ der Elemente von source
.
- TKey
Der Typ des von keySelector
zurückgegebenen Schlüssels.
- TElement
Der Typ des von elementSelector
zurückgegebenen Werts.
Parameter
- source
- IEnumerable<TSource>
Ein IEnumerable<T>, aus dem ein Dictionary<TKey,TValue> erstellt werden soll
- keySelector
- Func<TSource,TKey>
Eine Funktion zum Extrahieren eines Schlüssels aus jedem Element.
- elementSelector
- Func<TSource,TElement>
Eine Transformationsfunktion, mit der aus jedem Element ein Ergebniselementwert erzeugt wird.
Gibt zurück
Ein Dictionary<TKey,TValue>, das Werte vom Typ TElement
enthält, die aus der Eingabesequenz ausgewählt werden.
Ausnahmen
source
oder keySelector
oder elementSelector
ist null
.
- oder -
keySelector
erzeugt einen Schlüssel, der null
ist.
keySelector
erzeugt für zwei Elemente doppelte Schlüssel.
Hinweise
Die ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) -Methode verwendet den Standardgleichvergleich Default , um Schlüssel zu vergleichen.
Gilt für:
ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)
- Quelle:
- ToCollection.cs
- Quelle:
- ToCollection.cs
- Quelle:
- ToCollection.cs
Erstellt ein Dictionary<TKey,TValue> aus einem IEnumerable<T> entsprechend einer angegebenen Schlüsselauswahlfunktion, einem Vergleich und einer Elementauswahlfunktion
public:
generic <typename TSource, typename TKey, typename TElement>
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::Dictionary<TKey, TElement> ^ ToDictionary(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, TKey> ^ keySelector, Func<TSource, TElement> ^ elementSelector, System::Collections::Generic::IEqualityComparer<TKey> ^ comparer);
public static System.Collections.Generic.Dictionary<TKey,TElement> ToDictionary<TSource,TKey,TElement> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector, Func<TSource,TElement> elementSelector, System.Collections.Generic.IEqualityComparer<TKey> comparer);
public static System.Collections.Generic.Dictionary<TKey,TElement> ToDictionary<TSource,TKey,TElement> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector, Func<TSource,TElement> elementSelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer);
static member ToDictionary : seq<'Source> * Func<'Source, 'Key> * Func<'Source, 'Element> * System.Collections.Generic.IEqualityComparer<'Key> -> System.Collections.Generic.Dictionary<'Key, 'Element>
<Extension()>
Public Function ToDictionary(Of TSource, TKey, TElement) (source As IEnumerable(Of TSource), keySelector As Func(Of TSource, TKey), elementSelector As Func(Of TSource, TElement), comparer As IEqualityComparer(Of TKey)) As Dictionary(Of TKey, TElement)
Typparameter
- TSource
Der Typ der Elemente von source
.
- TKey
Der Typ des von keySelector
zurückgegebenen Schlüssels.
- TElement
Der Typ des von elementSelector
zurückgegebenen Werts.
Parameter
- source
- IEnumerable<TSource>
Ein IEnumerable<T>, aus dem ein Dictionary<TKey,TValue> erstellt werden soll
- keySelector
- Func<TSource,TKey>
Eine Funktion zum Extrahieren eines Schlüssels aus jedem Element.
- elementSelector
- Func<TSource,TElement>
Eine Transformationsfunktion, mit der aus jedem Element ein Ergebniselementwert erzeugt wird.
- comparer
- IEqualityComparer<TKey>
Ein IEqualityComparer<T> zum Vergleichen von Schlüsseln.
Gibt zurück
Ein Dictionary<TKey,TValue>, das Werte vom Typ TElement
enthält, die aus der Eingabesequenz ausgewählt werden.
Ausnahmen
source
oder keySelector
oder elementSelector
ist null
.
- oder -
keySelector
erzeugt einen Schlüssel, der null
ist.
keySelector
erzeugt für zwei Elemente doppelte Schlüssel.
Hinweise
Wenn comparer
ist null
, wird der Standardmäßige Gleichheitsvergleich Default zum Vergleichen von Schlüsseln verwendet.
Gilt für:
ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)
- Quelle:
- ToCollection.cs
- Quelle:
- ToCollection.cs
- Quelle:
- ToCollection.cs
Erstellt ein Dictionary<TKey,TValue> aus einem IEnumerable<T> gemäß einer angegebenen Schlüsselauswahlfunktion
public:
generic <typename TSource, typename TKey>
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::Dictionary<TKey, TSource> ^ ToDictionary(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, TKey> ^ keySelector);
public static System.Collections.Generic.Dictionary<TKey,TSource> ToDictionary<TSource,TKey> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector);
static member ToDictionary : seq<'Source> * Func<'Source, 'Key> -> System.Collections.Generic.Dictionary<'Key, 'Source>
<Extension()>
Public Function ToDictionary(Of TSource, TKey) (source As IEnumerable(Of TSource), keySelector As Func(Of TSource, TKey)) As Dictionary(Of TKey, TSource)
Typparameter
- TSource
Der Typ der Elemente von source
.
- TKey
Der Typ des von keySelector
zurückgegebenen Schlüssels.
Parameter
- source
- IEnumerable<TSource>
Ein IEnumerable<T>, aus dem ein Dictionary<TKey,TValue> erstellt werden soll
- keySelector
- Func<TSource,TKey>
Eine Funktion zum Extrahieren eines Schlüssels aus jedem Element.
Gibt zurück
Ein Dictionary<TKey,TValue>, das Schlüssel und Werte enthält. Die Werte in den einzelnen Gruppen liegen in der gleichen Reihenfolge vor wie in source
.
Ausnahmen
source
oder keySelector
ist null
.
- oder -
keySelector
erzeugt einen Schlüssel, der null
ist.
keySelector
erzeugt für zwei Elemente doppelte Schlüssel.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) mithilfe einer Dictionary<TKey,TValue> Schlüsselauswahl ein erstellt wird.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
public long TrackingNumber { get; set; }
}
public static void ToDictionaryEx1()
{
List<Package> packages =
new List<Package>
{ new Package { Company = "Coho Vineyard", Weight = 25.2, TrackingNumber = 89453312L },
new Package { Company = "Lucerne Publishing", Weight = 18.7, TrackingNumber = 89112755L },
new Package { Company = "Wingtip Toys", Weight = 6.0, TrackingNumber = 299456122L },
new Package { Company = "Adventure Works", Weight = 33.8, TrackingNumber = 4665518773L } };
// Create a Dictionary of Package objects,
// using TrackingNumber as the key.
Dictionary<long, Package> dictionary =
packages.ToDictionary(p => p.TrackingNumber);
foreach (KeyValuePair<long, Package> kvp in dictionary)
{
Console.WriteLine(
"Key {0}: {1}, {2} pounds",
kvp.Key,
kvp.Value.Company,
kvp.Value.Weight);
}
}
/*
This code produces the following output:
Key 89453312: Coho Vineyard, 25.2 pounds
Key 89112755: Lucerne Publishing, 18.7 pounds
Key 299456122: Wingtip Toys, 6 pounds
Key 4665518773: Adventure Works, 33.8 pounds
*/
Structure Package
Public Company As String
Public Weight As Double
Public TrackingNumber As Long
End Structure
Sub ToDictionaryEx1()
' Create a list of Package values.
Dim packages As New List(Of Package)(New Package() _
{New Package With
{.Company = "Coho Vineyard", .Weight = 25.2, .TrackingNumber = 89453312L},
New Package With
{.Company = "Lucerne Publishing", .Weight = 18.7, .TrackingNumber = 89112755L},
New Package With
{.Company = "Wingtip Toys", .Weight = 6.0, .TrackingNumber = 299456122L},
New Package With
{.Company = "Adventure Works", .Weight = 33.8, .TrackingNumber = 4665518773L}})
' Create a Dictionary that contains Package values,
' using TrackingNumber as the key.
Dim dict As Dictionary(Of Long, Package) =
packages.ToDictionary(Function(p) p.TrackingNumber)
' Display the results.
Dim output As New System.Text.StringBuilder
For Each kvp As KeyValuePair(Of Long, Package) In dict
output.AppendLine("Key " & kvp.Key & ": " &
kvp.Value.Company & ", " &
kvp.Value.Weight & " pounds")
Next
Console.WriteLine(output.ToString())
End Sub
' This code produces the following output:
'
' Key 89453312: Coho Vineyard, 25.2 pounds
' Key 89112755: Lucerne Publishing, 18.7 pounds
' Key 299456122: Wingtip Toys, 6 pounds
' Key 4665518773: Adventure Works, 33.8 pounds
Hinweise
Die ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) -Methode verwendet den Standardgleichvergleich Default , um Schlüssel zu vergleichen.
Gilt für:
ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)
- Quelle:
- ToCollection.cs
- Quelle:
- ToCollection.cs
- Quelle:
- ToCollection.cs
Erstellt ein Dictionary<TKey,TValue> aus einem IEnumerable<T> gemäß einer angegebenen Schlüsselauswahlfunktion und eines angegebenen Schlüsselvergleichs
public:
generic <typename TSource, typename TKey>
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::Dictionary<TKey, TSource> ^ ToDictionary(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, TKey> ^ keySelector, System::Collections::Generic::IEqualityComparer<TKey> ^ comparer);
public static System.Collections.Generic.Dictionary<TKey,TSource> ToDictionary<TSource,TKey> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector, System.Collections.Generic.IEqualityComparer<TKey> comparer);
public static System.Collections.Generic.Dictionary<TKey,TSource> ToDictionary<TSource,TKey> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer);
static member ToDictionary : seq<'Source> * Func<'Source, 'Key> * System.Collections.Generic.IEqualityComparer<'Key> -> System.Collections.Generic.Dictionary<'Key, 'Source>
<Extension()>
Public Function ToDictionary(Of TSource, TKey) (source As IEnumerable(Of TSource), keySelector As Func(Of TSource, TKey), comparer As IEqualityComparer(Of TKey)) As Dictionary(Of TKey, TSource)
Typparameter
- TSource
Der Typ der Elemente von source
.
- TKey
Der Typ der von keySelector
zurückgegebenen Schlüssel.
Parameter
- source
- IEnumerable<TSource>
Ein IEnumerable<T>, aus dem ein Dictionary<TKey,TValue> erstellt werden soll
- keySelector
- Func<TSource,TKey>
Eine Funktion zum Extrahieren eines Schlüssels aus jedem Element.
- comparer
- IEqualityComparer<TKey>
Ein IEqualityComparer<T> zum Vergleichen von Schlüsseln.
Gibt zurück
Ein Dictionary<TKey,TValue>, das Schlüssel und Werte enthält. Die Werte in den einzelnen Gruppen liegen in der gleichen Reihenfolge vor wie in source
.
Ausnahmen
source
oder keySelector
ist null
.
- oder -
keySelector
erzeugt einen Schlüssel, der null
ist.
keySelector
erzeugt für zwei Elemente doppelte Schlüssel.
Hinweise
Wenn comparer
ist null
, wird der Standardmäßige Gleichheitsvergleich Default zum Vergleichen von Schlüsseln verwendet.