c#

c# - Inicializar campo por valor predeterminado es redundante



(2)

La especificación C # indica en p.305 (17.4.4)

El valor inicial de un campo, ya sea un campo estático o un campo de instancia, es el valor predeterminado (§12.2) del tipo de campo. No es posible observar el valor de un campo antes de que se haya producido esta inicialización predeterminada, y un campo nunca se "desinicializa".

Saludos, Tamberg

¿Realmente puedo confiar en .NET para inicializar campos (como ints, structs y similares)? ¿Y qué sucede si aún quiero inicializar esos campos? ¿Cuáles podrían ser las repercusiones?


Sí, realmente puede confiar en .NET para inicializar los campos a sus valores predeterminados. Básicamente no hay repercusiones para hacerlo de manera explícita. (Una pequeña advertencia aquí: si inicializa campos estáticos explícitamente, cualquiera que ejecute el inicializador de tipo por segunda vez mediante reflexión terminará reinicializando esos campos. Sin embargo, este es un verdadero caso de esquina).

Haga lo que promueva la mayor legibilidad en su código base particular.