In another SO question, Ich habe mehrere Leute gesehen, die mir empfehlen, TryGetValue immer zu verwenden.Soll ich TryGetValue immer verwenden, um auf .NET-Wörterbücher zuzugreifen?
Während ich TryGetValue immer über das Contains/Access-Muster verwende, vermeide ich dieses Muster absichtlich, wenn ich erwarte, dass der Schlüssel immer im Wörterbuch ist. Ich gehe dann für einen direkten Indexer-Zugang, so dass eine Ausnahme ausgelöst wird, wenn der Schlüssel nicht da ist, weil etwas unerwartetes wirklich passierte (d. H. Der Schlüssel war nicht im Wörterbuch, während ich es erwarte).
Da es einen allgemeinen Konsens gegen meine "best-practice" zu geben scheint (3 von 4 Personen auf dem Beitrag habe ich explizit empfohlen, TryGetValue zu jeder Zeit zu verwenden), bin ich gespannt auf eine ausführliche Diskussion zu lesen that topic ...
Sie können den eigentlichen Schlüssel zur Ausnahmebedingungsnachricht hinzufügen, wenn Sie TryGetValue/throw ausführen, was die standardmäßige KeyNotFoundException nicht leistet (es sei denn, mir fehlt etwas). – Skizz