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