È abbastanza fastidioso testare tutte le mie stringhe nullprima di poter applicare in modo sicuro metodi come ToUpper(), StartWith()ecc.
Se il valore predefinito di stringfosse la stringa vuota, non dovrei testarlo e lo riterrei più coerente con gli altri tipi di valore come into doublead esempio. Inoltre Nullable<String>avrebbe senso.
Quindi perché i progettisti di C # hanno scelto di utilizzare nullcome valore predefinito le stringhe?
Nota: si riferisce a questa domanda , ma si concentra maggiormente sul perché anziché su cosa farne.
null(e inoltre ti consiglio di trattare concettualmente nulle svuotare le stringhe come cose diverse). Un valore nullo potrebbe essere il risultato di un errore da qualche parte, mentre una stringa vuota dovrebbe trasmettere un significato diverso.