Son peligrosas las variables no inicializadas de C #?

Estoy familiarizado con la especificación de C #, sección 5.3 que dice que se debe asignar una variable antes de usarla.

En C y en C ++ no administrado, esto tiene sentido ya que la pila no se borra y la ubicación de memoria utilizada para un puntero podría estar en cualquier lugar (lo que puede provocar un error difícil de localiza

Pero tengo la impresión de que el tiempo de ejecución no permite realmente valores "no asignados". En particular, un tipo de referencia que no se inicializa siempre tendrá un valor nulo, nunca el valor sobrante de una invocación previa del método o valor aleatorio.

¿Es correcto, o he estado asumiendo por error que un cheque nulo es suficiente todos estos años? ¿Puede tener realmente variables no inicializadas en C #, o el CLR se encarga de esto y siempre hay ALGUNOS valores establecidos?

Respuestas a la pregunta(12)

Su respuesta a la pregunta