Enumerable.ToDictionary Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Dictionary<TKey,TValue> Membuat dari IEnumerable<T>.
Overload
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
source
null
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
source
null
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
source
null
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
source
null
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,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,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,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,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.