Ich habe die MSDN-Dokumentation gelesen , aber nicht wirklich verstanden.
Ich glaube, dass das Verhalten von Set
"vorhanden ersetzen oder hinzufügen" (atomar) ist.
Ist das korrekt?
Ich habe die MSDN-Dokumentation gelesen , aber nicht wirklich verstanden.
Ich glaube, dass das Verhalten von Set
"vorhanden ersetzen oder hinzufügen" (atomar) ist.
Ist das korrekt?
Antworten:
Add
tut nichts (gibt zurück false
), wenn für diesen Schlüssel bereits ein Wert vorhanden ist. Set
führt nach Bedarf eine Einfügung oder Aktualisierung durch.
Remove
+ Add
würde eine Lücke in der Mitte hinterlassen, wenn ein anderer Thread, der diesen Schlüssel abfragt, keinen Hinweis erhält ( Set
nicht; der Swap ist normalerweise atomar); Obwohl dies Set
das gleiche Endergebnis wie Remove
+ hat Add
, ist der Mechanismusunterschied wichtig, da er sich auf andere Anrufer auswirken kann.
Zum Beispiel von Hinzufügen :
Rückgabewert
Typ: System.Boolean true, wenn das Einfügen erfolgreich war, oder false, wenn bereits ein Eintrag im Cache vorhanden ist, der denselben Schlüssel wie key hat.
set
die Richtlinie, wenn ein Element vorhanden ist?