Embora você possa usar a Valuepropriedade diretamente, de acordo com a resposta de Leszek, provavelmente usaria o operador nulo-condicional em conjunto com o operador nulo-coalescente:
string dateInUTCString =
date?.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffZ", CultureInfo.InvariantCulture)
?? "";
Aqui, o ?.resultado será apenas um valor nulo se datefor nulo, e o ??operador fornecerá um valor padrão se o resultado da date?.ToUniversalTime().ToString(...)chamada for nulo (o que aconteceria apenas se datefor nulo).
Observe que você realmente deseja especificar a cultura invariável para evitar resultados inesperados quando a cultura do encadeamento atual não usa o calendário gregoriano e não precisa citar todos esses literais na string de formato. Certamente funciona quando você faz isso, mas é mais difícil ler o IMO.
Se você não se importa com a precisão expressa na string, pode simplificar o código usando a string de formato padrão "O" :
string dateInUTCString = date?.ToUniversalTime().ToString("O") ?? "";
Nesse ponto, você não precisa especificar, CultureInfo.InvariantCulturepois isso é sempre usado por "O".
.ToString("o")?