Siempre he inicializado mis cadenas a NULL, con el pensamiento de que NULL significa la ausencia de un valor y "" o String.Empty es un valor válido. Últimamente he visto más ejemplos de código donde String.Empty se considera el valor predeterminado o no representa ningún valor. Esto me parece extraño, con los tipos anulables recién agregados en c # parece que estamos avanzando hacia atrás con cadenas al no usar NULL para representar 'Sin valor'.
¿Qué utiliza como inicializador predeterminado y por qué?
Editar: Basado en las respuestas, sigo pensando más
Evitar el manejo de errores Si el valor no debe ser nulo, ¿por qué se configuró
NULL
en primer lugar? ¿Quizás sería mejor identificar el error en el lugar donde ocurre en lugar de ocultarlo en el resto de su código base?Evitar verificaciones nulas Si está cansado de hacer verificaciones nulas en el código, ¿no sería mejor abstraer las verificaciones nulas? ¿Quizás envolver (o extender) los métodos de cadena para hacerlos
NULL
seguros? ¿Qué sucede si usa constantementeString.Empty
y sucede que un valor nulo funciona en su sistema? ¿Comienza a agregarNULL
cheques de todos modos?
No puedo evitar volver a la opinión de que es pereza. Cualquier DBA te abofetearía nueve formas de hacer el tonto si usaras '' en lugar de null
en su base de datos. Creo que los mismos principios se aplican en la programación y debería haber alguien para golpear a aquellos que usan en String.Empty
lugar de NULL
no representar ningún valor.
preguntas relacionadas