Ich habe eine Frage zu Linq / Lambda und dem folgenden Problem:
Ich habe zwei Wörterbücher, primary und secondary ... Diese beiden Wörterbücher sind definiert als Key = string, Value = int. Ich muss das primäre Wörterbuch verkleinern, wenn sich die KEYS mit dem sekundären Wörterbuch schneiden.
d. h .:
%Vor%Mein Versuch:
%Vor%Das funktioniert offensichtlich nicht, weil das primaryDict.Keys.Intersect eine Liste von Schlüsseln zurückgibt ... Wie würde ich ein neues Wörterbuch wiederherstellen oder das primäre Wörterbuch paaren? Jede Hilfe wäre willkommen.
Sie könnten auf diese Weise tun:
%Vor%oder alternativ:
%Vor% Letzteres ist vielleicht etwas effizienter, weil es die Erstellung einer Wegwerf-Sammlung (die durch die Intersect-Methode erzeugte) vermeidet und keinen zweiten Zugriff-nach-Schlüssel zu primaryDict
benötigt.
BEARBEITEN (wie Kommentar):
%Vor% Sie können primaryDict
immer noch in Ihrer Linq-Anweisung verwenden, da Sie ein neues Wörterbuch erstellen, das erst nach der Erstellung der Variablen zugewiesen wird:
Tags und Links c# dictionary key intersect