Feedback

C# - IEnumerable<KeyValuePair<TK, TV>> zu Dictionary<TK, TV>

Veröffentlicht von am 20.06.2014
(0 Bewertungen)
Auch Wörterbücher kann man mit LINQ bearbeiten. Als Ergebnis erhält man jedoch nie ein neues Wörterbuch, stattdessen immer ein IEnumerable<KeyValuePair<TKey, TValue>>.

Diese Erweiterungsmethode wandelt die Auflistung in ein Wörterbuch um, ohne das Parameter erwartet werden. Die standardmäßige ToDictionary-Methode verlangt leider immer 2 Funktionen, die angeben wie der Schlüssel und wie der Wert ermittelt werden sollen. Diese Methode erspart einem die Parameterübergabe.

Hinweis: Auflistungen wie IOrderedEnumerable<T> erben von IEnumerable und können somit problemlos umgewandelt werden.

Benötigte Namespaces
System.Collections.Generic
System.Linq
GFU-Schulungen  [Anzeige]

ASP.NET 2.0 und 3.5

Dieser Kurs vermittelt Ihnen alle Erweiterungen von Microsoft ASP.NET 2.0. Zu diesen zählen u. a. Data Bindung, Master Pages, und Security.

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

/// <summary>
/// Erstellt ein <see cref="System.Collections.Generic.Dictionary{TKey,TValue}"/> aus einem <see cref="System.Collections.Generic.IEnumerable{T}"/> mit <see cref="System.Collections.Generic.KeyValuePair{TKey,TValue}"/> Werten.
/// </summary>
/// <typeparam name="TKey">Der Typ von dem die Schlüssel in dem Wörterbuch sind.</typeparam>
/// <typeparam name="TValue">Der Typ von dem die Werte in dem Wörterbuch sind.</typeparam>
/// <param name="source">Die Quellliste mit den Wörterbucheinträgen.</param>
/// <returns>Ein Wörterbuch mit den Einträgen der <paramref name="source"/> Liste.</returns>
public static Dictionary<TKey, TValue> ToDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> source)
{
    return source.ToDictionary(x => x.Key, x => x.Value);
}

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!