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.