Enumerable.ToDictionary Yöntem

Tanım

bir içinden bir Dictionary<TKey,TValue>IEnumerable<T>oluşturur.

Aşırı Yüklemeler

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

Belirtilen anahtar eşitliği karşılaştırıcısına göre bir numaralandırmadan sözlük oluşturur.

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

Belirtilen anahtar karşılaştırıcıya göre bir numaralandırmadan sözlük oluşturur.

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

Anahtar türü için varsayılan karşılaştırıcıya göre bir numaralandırmadan sözlük oluşturur.

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

Anahtar türü için varsayılan karşılaştırıcıya göre bir numaralandırmadan sözlük oluşturur.

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

Belirtilen anahtar seçici ve öğe seçici işlevlerine göre öğesinden bir Dictionary<TKey,TValue>IEnumerable<T> oluşturur.

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

Dictionary<TKey,TValue> Belirtilen anahtar seçici işlevine, karşılaştırıcıya ve öğe seçici işlevine göre öğesinden IEnumerable<T> bir oluşturur.

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

Belirtilen anahtar seçici işlevine göre bir'den IEnumerable<T> bir Dictionary<TKey,TValue> oluşturur.

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

Belirtilen bir anahtar seçici işlevine ve anahtar karşılaştırıcısına göre'den IEnumerable<T> bir Dictionary<TKey,TValue> oluşturur.

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

Kaynak:
ToCollection.cs
Kaynak:
ToCollection.cs

Belirtilen anahtar eşitliği karşılaştırıcısına göre bir numaralandırmadan sözlük oluşturur.

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)

Tür Parametreleri

TKey

öğesinden anahtarların sourcetürü.

TValue

öğelerindeki değerlerin sourcetürü.

Parametreler

source
IEnumerable<ValueTuple<TKey,TValue>>

Sözlüğün oluşturulacağı numaralandırma.

comparer
IEqualityComparer<TKey>

Anahtarları karşılaştırmak için bir eşitlik karşılaştırıcısı.

Döndürülenler

anahtarlarını ve değerlerini sourceiçeren bir sözlük.

Özel durumlar

source bir null başvurudur.

source bir veya daha fazla yinelenen anahtar içerir.

Açıklamalar

ise comparernull, anahtarları karşılaştırmak için varsayılan eşitlik karşılaştırıcısı Default kullanılır.

Şunlara uygulanır

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

Kaynak:
ToCollection.cs
Kaynak:
ToCollection.cs

Belirtilen anahtar karşılaştırıcıya göre bir numaralandırmadan sözlük oluşturur.

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)

Tür Parametreleri

TKey

öğesinden anahtarların sourcetürü.

TValue

öğelerindeki değerlerin sourcetürü.

Parametreler

source
IEnumerable<KeyValuePair<TKey,TValue>>

Sözlüğün oluşturulacağı numaralandırma.

comparer
IEqualityComparer<TKey>

Anahtarları karşılaştırmak için bir eşitlik karşılaştırıcısı.

Döndürülenler

anahtarlarını ve değerlerini sourceiçeren bir sözlük.

Özel durumlar

source bir null başvurudur.

source bir veya daha fazla yinelenen anahtar içerir.

Açıklamalar

ise comparernull, anahtarları karşılaştırmak için varsayılan eşitlik karşılaştırıcısı Default kullanılır.

Şunlara uygulanır

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

Kaynak:
ToCollection.cs
Kaynak:
ToCollection.cs

Anahtar türü için varsayılan karşılaştırıcıya göre bir numaralandırmadan sözlük oluşturur.

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)

Tür Parametreleri

TKey

öğesinden anahtarların sourcetürü.

TValue

öğelerindeki değerlerin sourcetürü.

Parametreler

source
IEnumerable<KeyValuePair<TKey,TValue>>

Sözlüğün oluşturulacağı numaralandırma.

Döndürülenler

anahtar ve değerlerini source içeren ve anahtar türü için varsayılan karşılaştırıcıyı kullanan bir sözlük.

Özel durumlar

source bir null başvurudur.

source bir veya daha fazla yinelenen anahtar içerir.

Şunlara uygulanır

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

Kaynak:
ToCollection.cs
Kaynak:
ToCollection.cs

Anahtar türü için varsayılan karşılaştırıcıya göre bir numaralandırmadan sözlük oluşturur.

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)

Tür Parametreleri

TKey

öğesinden anahtarların sourcetürü.

TValue

öğelerindeki değerlerin sourcetürü.

Parametreler

source
IEnumerable<ValueTuple<TKey,TValue>>

Sözlüğün oluşturulacağı numaralandırma.

Döndürülenler

anahtar ve değerlerini source içeren ve anahtar türü için varsayılan karşılaştırıcıyı kullanan bir sözlük.

Özel durumlar

source bir null başvurudur.

source bir veya daha fazla yinelenen anahtar içerir.

Şunlara uygulanır

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

Kaynak:
ToCollection.cs
Kaynak:
ToCollection.cs
Kaynak:
ToCollection.cs

Belirtilen anahtar seçici ve öğe seçici işlevlerine göre öğesinden bir Dictionary<TKey,TValue>IEnumerable<T> oluşturur.

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)

Tür Parametreleri

TSource

öğelerinin sourcetürü.

TKey

tarafından keySelectordöndürülen anahtarın türü.

TElement

tarafından elementSelectordöndürülen değerin türü.

Parametreler

source
IEnumerable<TSource>

Kaynak IEnumerable<T> oluşturmak için bir Dictionary<TKey,TValue> .

keySelector
Func<TSource,TKey>

Her öğeden bir anahtar ayıklama işlevi.

elementSelector
Func<TSource,TElement>

Her öğeden bir sonuç öğesi değeri oluşturmak için bir dönüştürme işlevi.

Döndürülenler

Dictionary<TKey,TElement>

Dictionary<TKey,TValue> Giriş dizisinden seçilen türdeki TElement değerleri içeren bir.

Özel durumlar

source veya keySelector veya elementSelector şeklindedir null.

-veya-

keySelector olan nullbir anahtar üretir.

keySelector iki öğe için yinelenen anahtarlar üretir.

Açıklamalar

yöntemi, ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) anahtarları karşılaştırmak için varsayılan eşitlik karşılaştırıcısını Default kullanır.

Şunlara uygulanır

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

Kaynak:
ToCollection.cs
Kaynak:
ToCollection.cs
Kaynak:
ToCollection.cs

Dictionary<TKey,TValue> Belirtilen anahtar seçici işlevine, karşılaştırıcıya ve öğe seçici işlevine göre öğesinden IEnumerable<T> bir oluşturur.

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)

Tür Parametreleri

TSource

öğelerinin sourcetürü.

TKey

tarafından keySelectordöndürülen anahtarın türü.

TElement

tarafından elementSelectordöndürülen değerin türü.

Parametreler

source
IEnumerable<TSource>

Kaynak IEnumerable<T> oluşturmak için bir Dictionary<TKey,TValue> .

keySelector
Func<TSource,TKey>

Her öğeden bir anahtar ayıklama işlevi.

elementSelector
Func<TSource,TElement>

Her öğeden bir sonuç öğesi değeri oluşturmak için bir dönüştürme işlevi.

comparer
IEqualityComparer<TKey>

Anahtarları karşılaştırmak için bir IEqualityComparer<T> .

Döndürülenler

Dictionary<TKey,TElement>

Dictionary<TKey,TValue> Giriş dizisinden seçilen türdeki TElement değerleri içeren bir.

Özel durumlar

source veya keySelector veya elementSelector şeklindedir null.

-veya-

keySelector olan nullbir anahtar üretir.

keySelector iki öğe için yinelenen anahtarlar üretir.

Açıklamalar

ise comparernull, anahtarları karşılaştırmak için varsayılan eşitlik karşılaştırıcısı Default kullanılır.

Şunlara uygulanır

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

Kaynak:
ToCollection.cs
Kaynak:
ToCollection.cs
Kaynak:
ToCollection.cs

Belirtilen anahtar seçici işlevine göre bir'den IEnumerable<T> bir Dictionary<TKey,TValue> oluşturur.

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)

Tür Parametreleri

TSource

öğelerinin sourcetürü.

TKey

tarafından keySelectordöndürülen anahtarın türü.

Parametreler

source
IEnumerable<TSource>

Kaynak IEnumerable<T> oluşturmak için bir Dictionary<TKey,TValue> .

keySelector
Func<TSource,TKey>

Her öğeden bir anahtar ayıklama işlevi.

Döndürülenler

Dictionary<TKey,TSource>

Dictionary<TKey,TValue> Anahtarlar ve değerler içeren bir. Her gruptaki değerler ile aynı sıradadır source.

Özel durumlar

source veya keySelector şeklindedir null.

-veya-

keySelector olan nullbir anahtar üretir.

keySelector iki öğe için yinelenen anahtarlar üretir.

Örnekler

Aşağıdaki kod örneği, anahtar seçici kullanarak oluşturma Dictionary<TKey,TValue> işleminin nasıl kullanılacağını ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) gösterir.

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

Açıklamalar

yöntemi, ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) anahtarları karşılaştırmak için varsayılan eşitlik karşılaştırıcısını Default kullanır.

Şunlara uygulanır

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

Kaynak:
ToCollection.cs
Kaynak:
ToCollection.cs
Kaynak:
ToCollection.cs

Belirtilen bir anahtar seçici işlevine ve anahtar karşılaştırıcısına göre'den IEnumerable<T> bir Dictionary<TKey,TValue> oluşturur.

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)

Tür Parametreleri

TSource

öğelerinin sourcetürü.

TKey

tarafından keySelectordöndürülen anahtarların türü.

Parametreler

source
IEnumerable<TSource>

Kaynak IEnumerable<T> oluşturmak için bir Dictionary<TKey,TValue> .

keySelector
Func<TSource,TKey>

Her öğeden bir anahtar ayıklama işlevi.

comparer
IEqualityComparer<TKey>

Anahtarları karşılaştırmak için bir IEqualityComparer<T> .

Döndürülenler

Dictionary<TKey,TSource>

Dictionary<TKey,TValue> Anahtarlar ve değerler içeren bir. Her gruptaki değerler ile aynı sıradadır source.

Özel durumlar

source veya keySelector şeklindedir null.

-veya-

keySelector olan nullbir anahtar üretir.

keySelector iki öğe için yinelenen anahtarlar üretir.

Açıklamalar

ise comparernull, anahtarları karşılaştırmak için varsayılan eşitlik karşılaştırıcısı Default kullanılır.

Şunlara uygulanır