Eliminazione durante l’iterazione su un dizionario

Possibile duplicato:
Modifica del dizionario di .NET durante l’enumerazione

Ho un object dizionario quando eseguo un’iterazione e faccio alcune operazioni. In base a una condizione, dovrei eliminare o mantenere la coppia di valori chiave in cui sto attualmente effettuando l’iterazione. Qual è il modo migliore per eliminare un keyvaluepair da un dizionario mentre si sta iterando su di esso? Ho provato ad usare un object dizionario separato per tenere traccia degli elementi da eliminare ma non sono sicuro di come usarlo per eliminare dal mio dizionario principale o se questo è anche il modo più efficiente per farlo

Grazie

Tieni un elenco delle chiavi che desideri rimuovere quando le trovi. Quindi, al termine, scorrere su questo elenco, chiamando myDictionary.Remove(key) su ogni chiave memorizzata.

prova a utilizzare un dizionario separato e invece di contrassegnare il valore chiave per eliminare i valori chiave di inserimento da che vuoi mantenere e al punto e dell’iterazione fai questo: old_map = new_map.