public bool PrepaymentCalculating { get; set; }
所以我在这样的类中声明了一个变量。我想这个默认为'null'而不是false。我只需要使这是一个可空布尔值?还是有更好的方法来做到这一点?c中bool的默认值#
public bool PrepaymentCalculating { get; set; }
所以我在这样的类中声明了一个变量。我想这个默认为'null'而不是false。我只需要使这是一个可空布尔值?还是有更好的方法来做到这一点?c中bool的默认值#
我只需要使这是一个可为null的布尔值?
是的。
还是有更好的方式来做到这一点?
号
您可以
public bool? PrepaymentCalculating { get; set; }
布尔后不能为空。默认值可能是错误的(但不要在此引用我)。
如果你希望它是空,然后是你必须把它声明为空。
如果你希望它是零,那么你需要使它可空类型。
public bool? PrepaymentCalculating { get; set; }
将使其可以为空。阅读关于它here
像其他人一样说,实现这一点,但我想我会添加,什么这是你的目的是什么?我不经常想要将暴露为可空的布尔值,因为这意味着所有使用此属性的值必须考虑可能的空值。
但有时我想知道,如果它是在特定情况下被初始化或没有,如果没有,则使用来自其他地方的值(例如级联属性值)。在这种情况下,您可能想要使用如下模式:
public bool PrepaymentCalculating {
get {
if (_PrepaymentCalculating != null) {
return (bool)_PrepaymentCalculating;
} else {
return somethingElse; // bool
}
}
set {
_PrepaymentCalculating = value;
}
} protected bool? _PrepaymentCalculating =null;
是的,默认值为false。 – Craigt 2011-02-14 19:56:20