Actualmente estoy usandoC# diccionarios ValueOrNull/ValueorDefault
var x = dict.ContainsKey(key) ? dict[key] : defaultValue
me gustaría alguna manera de tener el diccionario [clave] volver nula para las llaves inexistente, por lo que podría escribir algo así como
var x = dict[key] ?? defaultValue;
esto también termina siendo parte de las consultas de linq, etc. por lo que preferiría soluciones de una sola línea.
Las respuestas actuales son correctas, y ver también [mi pregunta similar] (http://stackoverflow.com/questions/6214975), que es más una discusión. Sin embargo, debe evitar 'dict.ContainsKey (clave)? dict [tecla] 'mientras busca el diccionario dos veces, una para el' ContainsKey' y otra para el indexer '[]'. 'TryGetValue' es feo y no en línea, pero es una operación única. – Keith