Maneira elegante de C # para verificar se a propriedade de uma propriedade é nula

Em C #, diga que você deseja extrair um valor de PropertyC neste exemplo e ObjectA, PropertyA e PropertyB podem ser nulos.

ObjectA.PropertyA.PropertyB.PropertyC

Como posso obter o PropertyC com segurança com a menor quantidade de código?

Agora eu verificaria:

if(ObjectA != null && ObjectA.PropertyA !=null && ObjectA.PropertyA.PropertyB != null)
{
    // safely pull off the value
    int value = objectA.PropertyA.PropertyB.PropertyC;
}

Seria bom fazer algo mais parecido com este (pseudo-código).

int value = ObjectA.PropertyA.PropertyB ? ObjectA.PropertyA.PropertyB : defaultVal;

Possivelmente desmoronou ainda mais com um operador de coalescência nula.

EDITAR Originalmente, eu disse que meu segundo exemplo era como js, mas mudei para psuedo-code, pois foi corretamente apontado que não funcionaria em js.