Enumerable.ToDictionary Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
bir 'den bir Dictionary<TKey,TValue>IEnumerable<T>oluşturur.
Aşırı Yüklemeler
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 source
türü.
- TValue
öğesinden değerlerin source
tü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 source
içeren bir sözlük.
Özel durumlar
source
bir null
başvurudur.
source
bir veya daha fazla yinelenen anahtar içerir.
Açıklamalar
ise comparer
null
, 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ı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<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 source
türü.
- TValue
öğesinden değerlerin source
tü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 source
içeren bir sözlük.
Özel durumlar
source
bir null
başvurudur.
source
bir veya daha fazla yinelenen anahtar içerir.
Açıklamalar
ise comparer
null
, 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 source
türü.
- TValue
öğesinden değerlerin source
tü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 source
türü.
- TValue
öğesinden değerlerin source
tü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 source
türü.
- TKey
tarafından keySelector
döndürülen anahtarın türü.
- TElement
tarafından elementSelector
döndürülen değerin türü.
Parametreler
- source
- IEnumerable<TSource>
Oluşturulacak IEnumerable<T>Dictionary<TKey,TValue> kaynak.
- keySelector
- Func<TSource,TKey>
Her öğeden anahtar ayıklamak için bir işlev.
- elementSelector
- Func<TSource,TElement>
Her öğeden bir sonuç öğesi değeri üretmek için bir transform işlevi.
Döndürülenler
Dictionary<TKey,TValue> Giriş dizisinden seçilen tür TElement
değerlerini içeren bir.
Özel durumlar
source
veya keySelector
veya elementSelector
şeklindedir null
.
-veya-
keySelector
, olan null
bir 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 source
türü.
- TKey
tarafından keySelector
döndürülen anahtarın türü.
- TElement
tarafından elementSelector
döndürülen değerin türü.
Parametreler
- source
- IEnumerable<TSource>
Oluşturulacak IEnumerable<T>Dictionary<TKey,TValue> kaynak.
- keySelector
- Func<TSource,TKey>
Her öğeden anahtar ayıklamak için bir işlev.
- elementSelector
- Func<TSource,TElement>
Her öğeden bir sonuç öğesi değeri üretmek için bir transform işlevi.
- comparer
- IEqualityComparer<TKey>
Anahtarları karşılaştırmak için bir IEqualityComparer<T> .
Döndürülenler
Dictionary<TKey,TValue> Giriş dizisinden seçilen tür TElement
değerlerini içeren bir.
Özel durumlar
source
veya keySelector
veya elementSelector
şeklindedir null
.
-veya-
keySelector
, olan null
bir anahtar üretir.
keySelector
iki öğe için yinelenen anahtarlar üretir.
Açıklamalar
ise comparer
null
, 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
Dictionary<TKey,TValue> Belirtilen anahtar seçici işlevine göre bir'den IEnumerable<T> bir 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 source
türü.
- TKey
tarafından keySelector
döndürülen anahtarın türü.
Parametreler
- source
- IEnumerable<TSource>
Oluşturulacak IEnumerable<T>Dictionary<TKey,TValue> kaynak.
- keySelector
- Func<TSource,TKey>
Her öğeden anahtar ayıklamak için bir işlev.
Döndürülenler
Dictionary<TKey,TValue> Anahtarlar ve değerler içeren bir. Her grup içindeki değerler, içindekiyle source
aynı sıradadır.
Özel durumlar
source
veya keySelector
şeklindedir null
.
-veya-
keySelector
, olan null
bir 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
Dictionary<TKey,TValue> Belirtilen bir anahtar seçici işlevine ve anahtar karşılaştırıcısına göre'den IEnumerable<T> bir 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 source
türü.
- TKey
tarafından keySelector
döndürülen anahtarların türü.
Parametreler
- source
- IEnumerable<TSource>
Oluşturulacak IEnumerable<T>Dictionary<TKey,TValue> kaynak.
- keySelector
- Func<TSource,TKey>
Her öğeden anahtar ayıklamak için bir işlev.
- comparer
- IEqualityComparer<TKey>
Anahtarları karşılaştırmak için bir IEqualityComparer<T> .
Döndürülenler
Dictionary<TKey,TValue> Anahtarlar ve değerler içeren bir. Her grup içindeki değerler, içindekiyle source
aynı sıradadır.
Özel durumlar
source
veya keySelector
şeklindedir null
.
-veya-
keySelector
, olan null
bir anahtar üretir.
keySelector
iki öğe için yinelenen anahtarlar üretir.
Açıklamalar
ise comparer
null
, anahtarları karşılaştırmak için varsayılan eşitlik karşılaştırıcısı Default kullanılır.