Durchlaufen Dictionary in C#

Ich erkennen, dass Sie nicht die Iteration über ein Dictionary in C# und Bearbeiten der zugrunde liegenden Wörterbuch, wie im folgenden Beispiel:

Dictionary<Resource, double> totalCost = new Dictionary<Resource, double>();
//Populate the Dictionary in here - (not showing code).    
foreach (Resource resource in totalCost.Keys)
{
     totalCost[resource] = 5;
}

Einer Weise, die ich Sie sehen, um dies zu beheben, machen Sie eine Liste, unterstützt von der Wörterbuch-Tasten, wie dieses:

Dictionary<Resource, double> totalCost = new Dictionary<Resource, double>();
//Populate the Dictionary in here - (not showing code).    
foreach (Resource resource in new List(totalCost.Keys))
{
     totalCost[resource] = 5;
}

Da bin ich nicht Bearbeiten die Tasten selbst, gibt es einen Grund, dass dies nicht getan werden sollte oder, dass es schlecht ist, dies zu entscheiden, als eine Lösung. (Ich merke, wenn ich war Bearbeiten Sie diese Schlüssel, dies könnte dazu führen, eine Menge Probleme).

Danke.

Edit: meine Feste code-Beispiel. Tut mir Leid, dass.

  • Nicht das erste Stück code arbeiten?
  • Du hast Recht. Tut mir Leid, dass - repariert es, um zu zeigen, das problem habe ich versucht zu beschreiben.
InformationsquelleAutor JasCav | 2009-07-09
Schreibe einen Kommentar