Derzeit verwende ichC# Wörterbücher ValueOrNull/ValueorDefault
var x = dict.ContainsKey(key) ? dict[key] : defaultValue
ich irgendwie möchte Wörterbuch [key] haben für nonexistant Schlüssel null zurück, so konnte ich etwas schreiben wie
var x = dict[key] ?? defaultValue;
das wird auch Teil von Linq-Abfragen usw., also würde ich Ein-Zeilen-Lösungen bevorzugen.
Die aktuellen Antworten sind korrekt, und siehe auch [meine ähnliche Frage] (http://stackoverflow.com/questions/6214975), die eher eine Diskussion ist. Allerdings sollten Sie 'dict.ContainsKey (key) vermeiden? dict [key] ', wenn Sie zweimal nach dem Wörterbuch suchen, einmal nach dem' ContainsKey' und erneut nach dem '[]' Indexer. 'TryGetValue' ist hässlich und nicht inline, aber es ist eine einzelne Operation. – Keith