Por que o valor padrão do tipo de string é null em vez de uma string vazia?

É muito chato testar todas as minhas strings paranull antes que eu possa aplicar com segurança métodos comoToUpper(), StartWith() etc ...

Se o valor padrão destring era a string vazia, eu não teria que testar, e eu sentiria que ela seria mais consistente com os outros tipos de valor, comoint oudouble por exemplo. Além dissoNullable<String> faria sentido.

Então, por que os designers do C # escolheram usarnull como o valor padrão de seqüências de caracteres?

Nota: isto está relacionadoessa questão, mas é mais focado no porquê, em vez de o que fazer com ele.

questionAnswers(8)

yourAnswerToTheQuestion