Wie aktualisiere ich den Wert für einen bestimmten Schlüssel in einem Wörterbuch Dictionary<string, int>
?
c#
dictionary
Amit
quelle
quelle
Antworten:
Zeigen Sie einfach auf das Wörterbuch bei der angegebenen Taste und weisen Sie einen neuen Wert zu:
quelle
Dies ist möglich, indem Sie auf den Schlüssel als Index zugreifen
zum Beispiel:
quelle
++dictionary["test"];
oderdictionary["test"]++;
aber nur, wenn es einen Eintrag im Wörterbuch mit dem Schlüsselwert "test" gibt - Beispiel:if(dictionary.ContainsKey("test")) ++dictionary["test"];
else dictionary["test"] = 1; // create entry with key "test"
Sie können diesem Ansatz folgen:
Der Vorteil, den Sie hier erhalten, besteht darin, dass Sie den Wert des entsprechenden Schlüssels in nur einem Zugriff auf das Wörterbuch überprüfen und abrufen. Wenn Sie
ContainsKey
die Existenz überprüfen und den Wert mit aktualisieren, greifendic[key] = val + newValue;
Sie zweimal auf das Wörterbuch zu.quelle
dic.Add(key, newValue);
Sie verwendendic[key] = newvalue;
.Verwenden Sie LINQ: Zugriff auf das Wörterbuch für den Schlüssel und ändern Sie den Wert
quelle
Hier ist eine Möglichkeit, durch einen Index zu aktualisieren, ähnlich wie
foo[x] = 9
beix
einem Schlüssel und 9 als Wertquelle
update - nur existent ändern. Um Nebenwirkungen des Indexers zu vermeiden, verwenden Sie:
aktualisieren oder (neu hinzufügen, wenn der Wert in dic nicht vorhanden ist)
zum Beispiel:
quelle
Dies kann für Sie funktionieren:
Szenario 1: Primitive Typen
Szenario 2: Der Ansatz, den ich für eine Liste als Wert verwendet habe
Hoffe, es ist nützlich für jemanden, der Hilfe braucht.
quelle