Como todo el mundo dice, pero pensé que me gustaría añadir, ¿cuál es tu propósito aquí? No es frecuente que quiera exponer un bool nullable, ya que esto significa que todo lo que utiliza esta propiedad debe tener en cuenta un posible valor nulo.
Pero a veces quiero saber si se ha inicializado o no en un contexto determinado, y si no, utilice un valor de otro lugar (por ejemplo, para poner en cascada los valores de las propiedades). En este caso, es posible que desee utilizar un patrón como este:
public bool PrepaymentCalculating {
get {
if (_PrepaymentCalculating != null) {
return (bool)_PrepaymentCalculating;
} else {
return somethingElse; // bool
}
}
set {
_PrepaymentCalculating = value;
}
} protected bool? _PrepaymentCalculating =null;
Sí, el valor predeterminado es falso. – Craigt
Sí, el valor predeterminado es 'falso'. Piense en cero para falso (y no es cero para uno) y tenga en cuenta que el valor predeterminado para los tipos de valor simplemente pone a cero la estructura. Ver también http://msdn.microsoft.com/en-us/library/83fhsxwc.aspx. – jason