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ó
NULLen 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
NULLseguros? ¿Qué sucede si usa constantementeString.Emptyy sucede que un valor nulo funciona en su sistema? ¿Comienza a agregarNULLcheques 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 nullen 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.Emptylugar de NULLno representar ningún valor.
preguntas relacionadas