Bagikan melalui


Enumerable.ToDictionary Metode

Definisi

Overload

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

Membuat kamus dari enumerasi sesuai dengan perbandingan kesetaraan kunci yang ditentukan.

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

Membuat kamus dari enumerasi sesuai dengan perbandingan kunci yang ditentukan.

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

Membuat kamus dari enumerasi sesuai dengan perbandingan default untuk jenis kunci.

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

Membuat kamus dari enumerasi sesuai dengan perbandingan default untuk jenis kunci.

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

Dictionary<TKey,TValue> Membuat dari IEnumerable<T> fungsi pemilih kunci dan pemilih elemen yang ditentukan.

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

Dictionary<TKey,TValue> Membuat dari IEnumerable<T> sesuai dengan fungsi pemilih kunci tertentu, perbandingan, dan fungsi pemilih elemen.

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

Dictionary<TKey,TValue> Membuat dari IEnumerable<T> sesuai dengan fungsi pemilih kunci tertentu.

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

Dictionary<TKey,TValue> Membuat dari IEnumerable<T> sesuai dengan fungsi pemilih kunci dan perbandingan kunci yang ditentukan.

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

Sumber:
ToCollection.cs
Sumber:
ToCollection.cs

Membuat kamus dari enumerasi sesuai dengan perbandingan kesetaraan kunci yang ditentukan.

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)

Jenis parameter

TKey

Jenis kunci dari elemen source.

TValue

Jenis nilai dari elemen source.

Parameter

source
IEnumerable<ValueTuple<TKey,TValue>>

Enumerasi untuk membuat kamus dari.

comparer
IEqualityComparer<TKey>

Perbandingan kesetaraan untuk membandingkan kunci.

Mengembalikan

Kamus yang berisi kunci dan nilai dari source.

Pengecualian

sourcenull adalah referensi.

source berisi satu atau beberapa kunci duplikat.

Keterangan

Jika comparer adalah null, perbandingan Default kesetaraan default digunakan untuk membandingkan kunci.

Berlaku untuk

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

Sumber:
ToCollection.cs
Sumber:
ToCollection.cs

Membuat kamus dari enumerasi sesuai dengan perbandingan kunci yang ditentukan.

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)

Jenis parameter

TKey

Jenis kunci dari elemen source.

TValue

Jenis nilai dari elemen source.

Parameter

source
IEnumerable<KeyValuePair<TKey,TValue>>

Enumerasi untuk membuat kamus dari.

comparer
IEqualityComparer<TKey>

Perbandingan kesetaraan untuk membandingkan kunci.

Mengembalikan

Kamus yang berisi kunci dan nilai dari source.

Pengecualian

sourcenull adalah referensi.

source berisi satu atau beberapa kunci duplikat.

Keterangan

Jika comparer adalah null, perbandingan Default kesetaraan default digunakan untuk membandingkan kunci.

Berlaku untuk

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

Sumber:
ToCollection.cs
Sumber:
ToCollection.cs

Membuat kamus dari enumerasi sesuai dengan perbandingan default untuk jenis kunci.

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)

Jenis parameter

TKey

Jenis kunci dari elemen source.

TValue

Jenis nilai dari elemen source.

Parameter

source
IEnumerable<KeyValuePair<TKey,TValue>>

Enumerasi untuk membuat kamus dari.

Mengembalikan

Kamus yang berisi kunci dan nilai dari source dan menggunakan perbandingan default untuk jenis kunci.

Pengecualian

sourcenull adalah referensi.

source berisi satu atau beberapa kunci duplikat.

Berlaku untuk

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

Sumber:
ToCollection.cs
Sumber:
ToCollection.cs

Membuat kamus dari enumerasi sesuai dengan perbandingan default untuk jenis kunci.

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)

Jenis parameter

TKey

Jenis kunci dari elemen source.

TValue

Jenis nilai dari elemen source.

Parameter

source
IEnumerable<ValueTuple<TKey,TValue>>

Enumerasi untuk membuat kamus dari.

Mengembalikan

Kamus yang berisi kunci dan nilai dari source dan menggunakan perbandingan default untuk jenis kunci.

Pengecualian

sourcenull adalah referensi.

source berisi satu atau beberapa kunci duplikat.

Berlaku untuk

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

Sumber:
ToCollection.cs
Sumber:
ToCollection.cs
Sumber:
ToCollection.cs

Dictionary<TKey,TValue> Membuat dari IEnumerable<T> fungsi pemilih kunci dan pemilih elemen yang ditentukan.

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)

Jenis parameter

TSource

Jenis elemen source.

TKey

Jenis kunci yang dikembalikan oleh keySelector.

TElement

Jenis nilai yang dikembalikan oleh elementSelector.

Parameter

source
IEnumerable<TSource>

IEnumerable<T> Untuk membuat Dictionary<TKey,TValue> dari.

keySelector
Func<TSource,TKey>

Fungsi untuk mengekstrak kunci dari setiap elemen.

elementSelector
Func<TSource,TElement>

Fungsi transformasi untuk menghasilkan nilai elemen hasil dari setiap elemen.

Mengembalikan

Dictionary<TKey,TElement>

Dictionary<TKey,TValue> yang berisi nilai jenis TElement yang dipilih dari urutan input.

Pengecualian

source atau keySelector atau elementSelector adalah null.

-atau-

keySelector menghasilkan kunci yaitu null.

keySelector menghasilkan kunci duplikat untuk dua elemen.

Keterangan

Metode ini ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) menggunakan perbandingan Default kesetaraan default untuk membandingkan kunci.

Berlaku untuk

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

Sumber:
ToCollection.cs
Sumber:
ToCollection.cs
Sumber:
ToCollection.cs

Dictionary<TKey,TValue> Membuat dari IEnumerable<T> sesuai dengan fungsi pemilih kunci tertentu, perbandingan, dan fungsi pemilih elemen.

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)

Jenis parameter

TSource

Jenis elemen source.

TKey

Jenis kunci yang dikembalikan oleh keySelector.

TElement

Jenis nilai yang dikembalikan oleh elementSelector.

Parameter

source
IEnumerable<TSource>

IEnumerable<T> Untuk membuat Dictionary<TKey,TValue> dari.

keySelector
Func<TSource,TKey>

Fungsi untuk mengekstrak kunci dari setiap elemen.

elementSelector
Func<TSource,TElement>

Fungsi transformasi untuk menghasilkan nilai elemen hasil dari setiap elemen.

comparer
IEqualityComparer<TKey>

IEqualityComparer<T> Untuk membandingkan kunci.

Mengembalikan

Dictionary<TKey,TElement>

Dictionary<TKey,TValue> yang berisi nilai jenis TElement yang dipilih dari urutan input.

Pengecualian

source atau keySelector atau elementSelector adalah null.

-atau-

keySelector menghasilkan kunci yaitu null.

keySelector menghasilkan kunci duplikat untuk dua elemen.

Keterangan

Jika comparer adalah null, perbandingan Default kesetaraan default digunakan untuk membandingkan kunci.

Berlaku untuk

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

Sumber:
ToCollection.cs
Sumber:
ToCollection.cs
Sumber:
ToCollection.cs

Dictionary<TKey,TValue> Membuat dari IEnumerable<T> sesuai dengan fungsi pemilih kunci tertentu.

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)

Jenis parameter

TSource

Jenis elemen source.

TKey

Jenis kunci yang dikembalikan oleh keySelector.

Parameter

source
IEnumerable<TSource>

IEnumerable<T> Untuk membuat Dictionary<TKey,TValue> dari.

keySelector
Func<TSource,TKey>

Fungsi untuk mengekstrak kunci dari setiap elemen.

Mengembalikan

Dictionary<TKey,TSource>

Dictionary<TKey,TValue> yang berisi kunci dan nilai. Nilai dalam setiap grup berada dalam urutan yang sama seperti dalam source.

Pengecualian

source atau keySelector adalah null.

-atau-

keySelector menghasilkan kunci yaitu null.

keySelector menghasilkan kunci duplikat untuk dua elemen.

Contoh

Contoh kode berikut menunjukkan cara menggunakan ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) untuk membuat Dictionary<TKey,TValue> dengan menggunakan pemilih kunci.

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

Keterangan

Metode ini ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) menggunakan perbandingan Default kesetaraan default untuk membandingkan kunci.

Berlaku untuk

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

Sumber:
ToCollection.cs
Sumber:
ToCollection.cs
Sumber:
ToCollection.cs

Dictionary<TKey,TValue> Membuat dari IEnumerable<T> sesuai dengan fungsi pemilih kunci dan perbandingan kunci yang ditentukan.

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)

Jenis parameter

TSource

Jenis elemen source.

TKey

Jenis kunci yang dikembalikan oleh keySelector.

Parameter

source
IEnumerable<TSource>

IEnumerable<T> Untuk membuat Dictionary<TKey,TValue> dari.

keySelector
Func<TSource,TKey>

Fungsi untuk mengekstrak kunci dari setiap elemen.

comparer
IEqualityComparer<TKey>

IEqualityComparer<T> Untuk membandingkan kunci.

Mengembalikan

Dictionary<TKey,TSource>

Dictionary<TKey,TValue> yang berisi kunci dan nilai. Nilai dalam setiap grup berada dalam urutan yang sama seperti dalam source.

Pengecualian

source atau keySelector adalah null.

-atau-

keySelector menghasilkan kunci yaitu null.

keySelector menghasilkan kunci duplikat untuk dua elemen.

Keterangan

Jika comparer adalah null, perbandingan Default kesetaraan default digunakan untuk membandingkan kunci.

Berlaku untuk