Enumerable.ToDictionary Metoda

Definicja

Tworzy obiekt na Dictionary<TKey,TValue> podstawie elementu IEnumerable<T>.

Przeciążenia

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

Tworzy słownik na podstawie wyliczenia zgodnie z określonym modułem porównywania równości kluczy.

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

Tworzy słownik na podstawie wyliczenia zgodnie z określonym modułem porównującym klucz.

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

Tworzy słownik na podstawie wyliczenia zgodnie z domyślnym modułem porównującym dla typu klucza.

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

Tworzy słownik na podstawie wyliczenia zgodnie z domyślnym modułem porównującym dla typu klucza.

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

Tworzy obiekt Dictionary<TKey,TValue>IEnumerable<T> na podstawie określonych funkcji selektora kluczy i selektora elementów.

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

Tworzy element Dictionary<TKey,TValue> na podstawie IEnumerable<T> określonej funkcji selektora kluczy, modułu porównującego i funkcji selektora elementów.

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

Tworzy obiekt Dictionary<TKey,TValue> na podstawie IEnumerable<T> określonej funkcji selektora klucza.

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

Tworzy element Dictionary<TKey,TValue>IEnumerable<T> na podstawie określonej funkcji selektora kluczy i modułu porównania kluczy.

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

Źródło:
ToCollection.cs
Źródło:
ToCollection.cs

Tworzy słownik na podstawie wyliczenia zgodnie z określonym modułem porównywania równości kluczy.

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

Parametry typu

TKey

Typ kluczy z elementów elementu source.

TValue

Typ wartości z elementów elementu source.

Parametry

source
IEnumerable<ValueTuple<TKey,TValue>>

Wyliczenie do utworzenia słownika.

comparer
IEqualityComparer<TKey>

Porównujący równość do porównywania kluczy.

Zwraca

Słownik zawierający klucze i wartości z sourceelementu .

Wyjątki

source jest odwołaniem null .

source zawiera co najmniej jeden zduplikowany klucz.

Uwagi

Jeśli comparer parametr ma nullwartość , domyślny moduł porównujący Default równości jest używany do porównywania kluczy.

Dotyczy

.NET 9 i .NET 8
Produkt Wersje
.NET 8, 9

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

Źródło:
ToCollection.cs
Źródło:
ToCollection.cs

Tworzy słownik na podstawie wyliczenia zgodnie z określonym modułem porównującym klucz.

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

Parametry typu

TKey

Typ kluczy z elementów elementu source.

TValue

Typ wartości z elementów elementu source.

Parametry

source
IEnumerable<KeyValuePair<TKey,TValue>>

Wyliczenie do utworzenia słownika.

comparer
IEqualityComparer<TKey>

Porównujący równość do porównywania kluczy.

Zwraca

Słownik zawierający klucze i wartości z sourceelementu .

Wyjątki

source jest odwołaniem null .

source zawiera co najmniej jeden zduplikowany klucz.

Uwagi

Jeśli comparer parametr ma nullwartość , domyślny moduł porównujący Default równości jest używany do porównywania kluczy.

Dotyczy

.NET 9 i .NET 8
Produkt Wersje
.NET 8, 9

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

Źródło:
ToCollection.cs
Źródło:
ToCollection.cs

Tworzy słownik na podstawie wyliczenia zgodnie z domyślnym modułem porównującym dla typu klucza.

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

Parametry typu

TKey

Typ kluczy z elementów elementu source.

TValue

Typ wartości z elementów elementu source.

Parametry

source
IEnumerable<KeyValuePair<TKey,TValue>>

Wyliczenie do utworzenia słownika.

Zwraca

Słownik, który zawiera klucze i wartości z source i używa domyślnego modułu porównującego dla typu klucza.

Wyjątki

source jest odwołaniem null .

source zawiera co najmniej jeden zduplikowany klucz.

Dotyczy

.NET 9 i .NET 8
Produkt Wersje
.NET 8, 9

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

Źródło:
ToCollection.cs
Źródło:
ToCollection.cs

Tworzy słownik na podstawie wyliczenia zgodnie z domyślnym modułem porównującym dla typu klucza.

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

Parametry typu

TKey

Typ kluczy z elementów elementu source.

TValue

Typ wartości z elementów elementu source.

Parametry

source
IEnumerable<ValueTuple<TKey,TValue>>

Wyliczenie do utworzenia słownika.

Zwraca

Słownik, który zawiera klucze i wartości z source i używa domyślnego modułu porównującego dla typu klucza.

Wyjątki

source jest odwołaniem null .

source zawiera co najmniej jeden zduplikowany klucz.

Dotyczy

.NET 9 i .NET 8
Produkt Wersje
.NET 8, 9

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

Źródło:
ToCollection.cs
Źródło:
ToCollection.cs
Źródło:
ToCollection.cs

Tworzy obiekt Dictionary<TKey,TValue>IEnumerable<T> na podstawie określonych funkcji selektora kluczy i selektora elementów.

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

Parametry typu

TSource

Typ elementów elementu source.

TKey

Typ klucza zwróconego przez keySelector.

TElement

Typ wartości zwracanej przez elementSelector.

Parametry

source
IEnumerable<TSource>

Element IEnumerable<T> do utworzenia elementu Dictionary<TKey,TValue> na podstawie.

keySelector
Func<TSource,TKey>

Funkcja wyodrębniania klucza z każdego elementu.

elementSelector
Func<TSource,TElement>

Funkcja transformacji do uzyskiwania wartości wyniku elementu z każdego z elementu.

Zwraca

Dictionary<TKey,TElement>

Element Dictionary<TKey,TValue> zawierający wartości typu TElement wybrane z sekwencji danych wejściowych.

Wyjątki

source lub keySelectorelementSelector ma wartość null.

-lub-

keySelector polecenie tworzy klucz, który jest null.

keySelector tworzy zduplikowane klucze dla dwóch elementów.

Uwagi

Metoda ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) używa domyślnego modułu porównania Default równości do porównywania kluczy.

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.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>)

Źródło:
ToCollection.cs
Źródło:
ToCollection.cs
Źródło:
ToCollection.cs

Tworzy element Dictionary<TKey,TValue> na podstawie IEnumerable<T> określonej funkcji selektora kluczy, modułu porównującego i funkcji selektora elementów.

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

Parametry typu

TSource

Typ elementów elementu source.

TKey

Typ klucza zwróconego przez keySelector.

TElement

Typ wartości zwracanej przez elementSelector.

Parametry

source
IEnumerable<TSource>

Element IEnumerable<T> do utworzenia elementu Dictionary<TKey,TValue> na podstawie.

keySelector
Func<TSource,TKey>

Funkcja wyodrębniania klucza z każdego elementu.

elementSelector
Func<TSource,TElement>

Funkcja transformacji do uzyskiwania wartości wyniku elementu z każdego z elementu.

comparer
IEqualityComparer<TKey>

Element IEqualityComparer<T> do porównywania kluczy.

Zwraca

Dictionary<TKey,TElement>

Element Dictionary<TKey,TValue> zawierający wartości typu TElement wybrane z sekwencji danych wejściowych.

Wyjątki

source lub keySelectorelementSelector ma wartość null.

-lub-

keySelector polecenie tworzy klucz, który jest null.

keySelector tworzy zduplikowane klucze dla dwóch elementów.

Uwagi

Jeśli comparer parametr ma nullwartość , domyślny moduł porównujący Default równości jest używany do porównywania kluczy.

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.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>)

Źródło:
ToCollection.cs
Źródło:
ToCollection.cs
Źródło:
ToCollection.cs

Tworzy obiekt Dictionary<TKey,TValue> na podstawie IEnumerable<T> określonej funkcji selektora klucza.

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

Parametry typu

TSource

Typ elementów elementu source.

TKey

Typ klucza zwróconego przez keySelector.

Parametry

source
IEnumerable<TSource>

Element IEnumerable<T> do utworzenia elementu Dictionary<TKey,TValue> na podstawie.

keySelector
Func<TSource,TKey>

Funkcja wyodrębniania klucza z każdego elementu.

Zwraca

Dictionary<TKey,TSource>

Obiekt Dictionary<TKey,TValue> zawierający klucze i wartości. Wartości w każdej grupie są w takiej samej kolejności, jak w pliku source.

Wyjątki

source lub keySelector ma wartość null.

-lub-

keySelector polecenie tworzy klucz, który jest null.

keySelector tworzy zduplikowane klucze dla dwóch elementów.

Przykłady

W poniższym przykładzie kodu pokazano, jak utworzyć ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)Dictionary<TKey,TValue> element przy użyciu selektora kluczy.

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

Uwagi

Metoda ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) używa domyślnego modułu porównania Default równości do porównywania kluczy.

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.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>)

Źródło:
ToCollection.cs
Źródło:
ToCollection.cs
Źródło:
ToCollection.cs

Tworzy element Dictionary<TKey,TValue>IEnumerable<T> na podstawie określonej funkcji selektora kluczy i modułu porównania kluczy.

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

Parametry typu

TSource

Typ elementów elementu source.

TKey

Typ kluczy zwracanych przez keySelectorelement .

Parametry

source
IEnumerable<TSource>

Element IEnumerable<T> do utworzenia elementu Dictionary<TKey,TValue> na podstawie.

keySelector
Func<TSource,TKey>

Funkcja wyodrębniania klucza z każdego elementu.

comparer
IEqualityComparer<TKey>

Element IEqualityComparer<T> do porównywania kluczy.

Zwraca

Dictionary<TKey,TSource>

Obiekt Dictionary<TKey,TValue> zawierający klucze i wartości. Wartości w każdej grupie są w takiej samej kolejności, jak w pliku source.

Wyjątki

source lub keySelector ma wartość null.

-lub-

keySelector polecenie tworzy klucz, który jest null.

keySelector tworzy zduplikowane klucze dla dwóch elementów.

Uwagi

Jeśli comparer parametr ma nullwartość , domyślny moduł porównujący Default równości jest używany do porównywania kluczy.

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.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