153 Stimmen

Verschiedene Möglichkeiten, dem Wörterbuch etwas hinzuzufügen

Worin besteht der Unterschied zwischen Dictionary.add(key, value) y Dictionary[key] = value ?

Ich habe bemerkt, dass die letzte Version keine Fehlermeldung ArgumentException beim Einfügen eines doppelten Schlüssels, aber gibt es einen Grund, die erste Version vorzuziehen?

bearbeiten : Hat jemand eine verlässliche Quelle für Informationen zu diesem Thema? Ich habe es bei MSDN versucht, aber es ist wie immer eine aussichtslose Suche :(

3voto

So fügen Sie den Wert in das Wörterbuch ein

 Dictionary<string, string> dDS1 = new Dictionary<string, string>();//Declaration
 dDS1.Add("VEqpt", "aaaa");//adding key and value into the dictionary
 string Count = dDS1["VEqpt"];//assigning the value of dictionary key to Count variable
 dDS1["VEqpt"] = Count + "bbbb";//assigning the value to key

0voto

Jorge Córdoba Punkte 49057

Angesichts der mehr als wahrscheinlichen Ähnlichkeiten in der Leistung, verwenden Sie das, was sich für den von Ihnen verwendeten Code als korrekter und lesbarer anfühlt.

Ich denke, eine Operation, die eine Addition beschreibt, bei der das Vorhandensein des Schlüssels schon eine wirklich seltene Ausnahme ist, lässt sich am besten mit der Addition darstellen. Semantisch macht das mehr Sinn.

El dict[key] = value besser eine Substitution darstellt. Wenn ich diesen Code sehe, erwarte ich halb, dass der Schlüssel ohnehin schon im Wörterbuch steht.

0 Stimmen

Ich gehe davon aus, dass es einen kleinen Leistungsgewinn gibt, wenn nicht zuerst geprüft wird, ob der Schlüssel existiert. Ich würde nicht erwarten, dass von dic[key] = value dass der Schlüssel bereits vorhanden war, aber ich denke, darüber kann man streiten ;)

2 Stimmen

+ Ich denke, dass "throwing" niemals als Möglichkeit verwendet werden sollte, um zu prüfen, ob der Schlüssel bereits vertreten ist. if(!strings.ContainsKey("foo")) strings.Add("foo", "bar");

0voto

Joshua Smith Punkte 124

Die eine weist einen Wert zu, während die andere dem Wörterbuch einen neuen Schlüssel und Wert hinzufügt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X