Enumerable.ToDictionary Metodo

Definizione

Crea un oggetto Dictionary<TKey,TValue> da un oggetto IEnumerable<T>.

Overload

ToDictionary<TKey,TValue>(IEnumerable<ValueTuple<TKey,TValue>>, IEqualityComparer<TKey>)

Crea un dizionario da un'enumerazione in base all'operatore di confronto di uguaglianza delle chiavi specificato.

ToDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>)

Crea un dizionario da un'enumerazione in base all'operatore di confronto delle chiavi specificato.

ToDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>)

Crea un dizionario da un'enumerazione in base all'operatore di confronto predefinito per il tipo di chiave.

ToDictionary<TKey,TValue>(IEnumerable<ValueTuple<TKey,TValue>>)

Crea un dizionario da un'enumerazione in base all'operatore di confronto predefinito per il tipo di chiave.

ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)

Crea un oggetto Dictionary<TKey,TValue> da un oggetto IEnumerable<T> secondo le funzioni specificate del selettore principale e del selettore di elementi.

ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

Crea un oggetto Dictionary<TKey,TValue> da un oggetto IEnumerable<T> secondo una funzione specificata del selettore principale, un operatore di confronto principale e una funzione del selettore di elementi.

ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Crea un oggetto Dictionary<TKey,TValue> da un oggetto IEnumerable<T> secondo una funzione del selettore principale specificata.

ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Crea un oggetto Dictionary<TKey,TValue> da un oggetto IEnumerable<T> secondo una funzione del selettore principale specificata e un operatore di confronto principale.

ToDictionary<TKey,TValue>(IEnumerable<ValueTuple<TKey,TValue>>, IEqualityComparer<TKey>)

Origine:
ToCollection.cs
Origine:
ToCollection.cs

Crea un dizionario da un'enumerazione in base all'operatore di confronto di uguaglianza delle chiavi specificato.

C#
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);

Parametri di tipo

TKey

Tipo delle chiavi degli elementi di source.

TValue

Tipo dei valori degli elementi di source.

Parametri

source
IEnumerable<ValueTuple<TKey,TValue>>

Enumerazione da cui creare un dizionario.

comparer
IEqualityComparer<TKey>

Operatore di confronto di uguaglianza per confrontare le chiavi.

Restituisce

Dizionario che contiene chiavi e valori da source.

Eccezioni

source è un riferimento null.

source contiene una o più chiavi duplicate.

Commenti

Se comparer è null, l'operatore Default di confronto di uguaglianza predefinito viene usato per confrontare le chiavi.

Si applica a

.NET 9 e .NET 8
Prodotto Versioni
.NET 8, 9

ToDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>)

Origine:
ToCollection.cs
Origine:
ToCollection.cs

Crea un dizionario da un'enumerazione in base all'operatore di confronto delle chiavi specificato.

C#
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);

Parametri di tipo

TKey

Tipo delle chiavi degli elementi di source.

TValue

Tipo dei valori degli elementi di source.

Parametri

source
IEnumerable<KeyValuePair<TKey,TValue>>

Enumerazione da cui creare un dizionario.

comparer
IEqualityComparer<TKey>

Operatore di confronto di uguaglianza per confrontare le chiavi.

Restituisce

Dizionario che contiene chiavi e valori da source.

Eccezioni

source è un riferimento null.

source contiene una o più chiavi duplicate.

Commenti

Se comparer è null, l'operatore Default di confronto di uguaglianza predefinito viene usato per confrontare le chiavi.

Si applica a

.NET 9 e .NET 8
Prodotto Versioni
.NET 8, 9

ToDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>)

Origine:
ToCollection.cs
Origine:
ToCollection.cs

Crea un dizionario da un'enumerazione in base all'operatore di confronto predefinito per il tipo di chiave.

C#
public static System.Collections.Generic.Dictionary<TKey,TValue> ToDictionary<TKey,TValue> (this System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>> source);

Parametri di tipo

TKey

Tipo delle chiavi degli elementi di source.

TValue

Tipo dei valori degli elementi di source.

Parametri

source
IEnumerable<KeyValuePair<TKey,TValue>>

Enumerazione da cui creare un dizionario.

Restituisce

Dizionario che contiene chiavi e valori da source e usa l'operatore di confronto predefinito per il tipo di chiave.

Eccezioni

source è un riferimento null.

source contiene una o più chiavi duplicate.

Si applica a

.NET 9 e .NET 8
Prodotto Versioni
.NET 8, 9

ToDictionary<TKey,TValue>(IEnumerable<ValueTuple<TKey,TValue>>)

Origine:
ToCollection.cs
Origine:
ToCollection.cs

Crea un dizionario da un'enumerazione in base all'operatore di confronto predefinito per il tipo di chiave.

C#
public static System.Collections.Generic.Dictionary<TKey,TValue> ToDictionary<TKey,TValue> (this System.Collections.Generic.IEnumerable<(TKey Key, TValue Value)> source);

Parametri di tipo

TKey

Tipo delle chiavi degli elementi di source.

TValue

Tipo dei valori degli elementi di source.

Parametri

source
IEnumerable<ValueTuple<TKey,TValue>>

Enumerazione da cui creare un dizionario.

Restituisce

Dizionario che contiene chiavi e valori da source e usa l'operatore di confronto predefinito per il tipo di chiave.

Eccezioni

source è un riferimento null.

source contiene una o più chiavi duplicate.

Si applica a

.NET 9 e .NET 8
Prodotto Versioni
.NET 8, 9

ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)

Origine:
ToCollection.cs
Origine:
ToCollection.cs
Origine:
ToCollection.cs

Crea un oggetto Dictionary<TKey,TValue> da un oggetto IEnumerable<T> secondo le funzioni specificate del selettore principale e del selettore di elementi.

C#
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);

Parametri di tipo

TSource

Tipo degli elementi di source.

TKey

Tipo della chiave restituita dall'oggetto keySelector.

TElement

Tipo del valore restituito dall'oggetto elementSelector.

Parametri

source
IEnumerable<TSource>

Oggetto IEnumerable<T> da cui creare un oggetto Dictionary<TKey,TValue>.

keySelector
Func<TSource,TKey>

Funzione per estrarre una chiave da ogni elemento.

elementSelector
Func<TSource,TElement>

Funzione di trasformazione per produrre un valore dell'elemento di risultato da ogni elemento.

Restituisce

Dictionary<TKey,TElement>

Oggetto Dictionary<TKey,TValue> che contiene valori di tipo TElement selezionati dalla sequenza di input.

Eccezioni

Il parametro source, il parametro keySelector o il parametro elementSelector è null.

-oppure-

keySelector genera una chiave che è null.

keySelector genera chiavi duplicate per due elementi.

Commenti

Il ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) metodo usa l'operatore Default di confronto di uguaglianza predefinito per confrontare le chiavi.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

Origine:
ToCollection.cs
Origine:
ToCollection.cs
Origine:
ToCollection.cs

Crea un oggetto Dictionary<TKey,TValue> da un oggetto IEnumerable<T> secondo una funzione specificata del selettore principale, un operatore di confronto principale e una funzione del selettore di elementi.

C#
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);
C#
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);

Parametri di tipo

TSource

Tipo degli elementi di source.

TKey

Tipo della chiave restituita dall'oggetto keySelector.

TElement

Tipo del valore restituito dall'oggetto elementSelector.

Parametri

source
IEnumerable<TSource>

Oggetto IEnumerable<T> da cui creare un oggetto Dictionary<TKey,TValue>.

keySelector
Func<TSource,TKey>

Funzione per estrarre una chiave da ogni elemento.

elementSelector
Func<TSource,TElement>

Funzione di trasformazione per produrre un valore dell'elemento di risultato da ogni elemento.

comparer
IEqualityComparer<TKey>

Oggetto IEqualityComparer<T> per confrontare le chiavi.

Restituisce

Dictionary<TKey,TElement>

Oggetto Dictionary<TKey,TValue> che contiene valori di tipo TElement selezionati dalla sequenza di input.

Eccezioni

Il parametro source, il parametro keySelector o il parametro elementSelector è null.

-oppure-

keySelector genera una chiave che è null.

keySelector genera chiavi duplicate per due elementi.

Commenti

Se comparer è null, l'operatore Default di confronto di uguaglianza predefinito viene usato per confrontare le chiavi.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Origine:
ToCollection.cs
Origine:
ToCollection.cs
Origine:
ToCollection.cs

Crea un oggetto Dictionary<TKey,TValue> da un oggetto IEnumerable<T> secondo una funzione del selettore principale specificata.

C#
public static System.Collections.Generic.Dictionary<TKey,TSource> ToDictionary<TSource,TKey> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector);

Parametri di tipo

TSource

Tipo degli elementi di source.

TKey

Tipo della chiave restituita dall'oggetto keySelector.

Parametri

source
IEnumerable<TSource>

Oggetto IEnumerable<T> da cui creare un oggetto Dictionary<TKey,TValue>.

keySelector
Func<TSource,TKey>

Funzione per estrarre una chiave da ogni elemento.

Restituisce

Dictionary<TKey,TSource>

Oggetto Dictionary<TKey,TValue> che contiene chiavi e valori. I valori all'interno di ogni gruppo sono nello stesso ordine di source.

Eccezioni

source o keySelector è null.

-oppure-

keySelector genera una chiave che è null.

keySelector genera chiavi duplicate per due elementi.

Esempio

Nell'esempio di codice seguente viene illustrato come usare ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) per creare un Dictionary<TKey,TValue> oggetto usando un selettore di chiave.

C#
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
*/

Commenti

Il ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) metodo usa l'operatore Default di confronto di uguaglianza predefinito per confrontare le chiavi.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Origine:
ToCollection.cs
Origine:
ToCollection.cs
Origine:
ToCollection.cs

Crea un oggetto Dictionary<TKey,TValue> da un oggetto IEnumerable<T> secondo una funzione del selettore principale specificata e un operatore di confronto principale.

C#
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);
C#
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);

Parametri di tipo

TSource

Tipo degli elementi di source.

TKey

Tipo delle chiavi restituite dall'oggetto keySelector.

Parametri

source
IEnumerable<TSource>

Oggetto IEnumerable<T> da cui creare un oggetto Dictionary<TKey,TValue>.

keySelector
Func<TSource,TKey>

Funzione per estrarre una chiave da ogni elemento.

comparer
IEqualityComparer<TKey>

Oggetto IEqualityComparer<T> per confrontare le chiavi.

Restituisce

Dictionary<TKey,TSource>

Oggetto Dictionary<TKey,TValue> che contiene chiavi e valori. I valori all'interno di ogni gruppo sono nello stesso ordine di source.

Eccezioni

source o keySelector è null.

-oppure-

keySelector genera una chiave che è null.

keySelector genera chiavi duplicate per due elementi.

Commenti

Se comparer è null, l'operatore Default di confronto di uguaglianza predefinito viene usato per confrontare le chiavi.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0