Entfernen Sie Elemente aus DictionaryKey, Item

8

Ich habe ein Wörterbuch, in dem Elemente (zum Beispiel) stehen:

  1. "A", 4
  2. "B", 44
  3. "tschüss", 56
  4. "C", 99
  5. "D", 46
  6. "6672", 0

Und ich habe eine Liste:

  1. "A"
  2. "C"
  3. "D"

Ich möchte aus meinem Wörterbuch alle Elemente entfernen, deren Schlüssel nicht in meiner Liste sind, und am Ende wird mein Wörterbuch:

  1. "A", 4
  2. "C", 99
  3. "D", 46

Wie kann ich tun?

    
Nick 25.11.2012, 16:20
quelle

4 Antworten

15

Es ist einfacher, ein neues Dictionary zu erstellen, das Elemente enthält, die sich in der Liste befinden:

%Vor%

Wenn es wichtig ist, das vorhandene Wörterbuch zu ändern (z. B. ist es eine schreibgeschützte Eigenschaft einer Klasse)

%Vor%

Beachten Sie den Aufruf von ToList () - es ist wichtig, die Liste der zu entfernenden Schlüssel zu materialisieren. Wenn Sie versuchen, den Code ohne die Materialisierung von keysToRemove auszuführen, haben Sie wahrscheinlich eine Ausnahme, die etwas wie "Die Sammlung hat sich geändert" enthält.

    
J0HN 25.11.2012, 16:31
quelle
7
%Vor%     
Joachim Isaksson 25.11.2012 16:25
quelle
2
%Vor%     
L.B 25.11.2012 17:24
quelle
0

Code:

%Vor%

Beispiel:

%Vor%

Ausgabe:

%Vor%     
SimpleVar 25.11.2012 16:25
quelle

Tags und Links