Dictionary devuelve un valor predeterminado si la clave no existe [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Existe una implementación IDictionary que, en la clave faltante, devuelve el valor predeterminado en lugar de arrojar? 12 respuestas

Me encuentro usando el patrón actual con bastante frecuencia en mi código hoy en día

var dictionary = new Dictionary<type, IList<othertype>>();
// Add stuff to dictionary

var somethingElse = dictionary.ContainsKey(key) ? dictionary[key] : new List<othertype>();
// Do work with the somethingelse variable

O algunas vece

var dictionary = new Dictionary<type, IList<othertype>>();
// Add stuff to dictionary

IList<othertype> somethingElse;
if(!dictionary.TryGetValue(key, out somethingElse) {
    somethingElse = new List<othertype>();
}

Ambas formas se sienten bastante indirectas. Lo que realmente me gustaría es algo como

dictionary.GetValueOrDefault(key)

Ahora, podría escribir un método de extensión para la clase de diccionario que haga esto por mí, pero pensé que podría estar perdiendo algo que ya existe. Entonces, ¿hay alguna manera de hacer esto de una manera que sea más "fácil para la vista" sin escribir un método de extensión en el diccionario?

Respuestas a la pregunta(4)

Su respuesta a la pregunta