簡體   English   中英

如何在 C# 中輸入 Cast null 作為 Bool?

[英]How to Type Cast null as Bool in C#?

我有一個可以為 null 的 bool ( bool? ) 變量,它持有一個 null 值。 另一個類型為 pure bool變量,我嘗試將可以為 null 的 bool 轉換為 bool。 但是我遇到了一個錯誤“可空對象必須有一個值。

我的 C# 代碼是

bool? x = (bool?) null;
bool y = (bool)x;

使用x.GetValueOrDefault()為默認值(分配falseSystem.Boolean ),以y在事件x.HasValue == false

或者你可以使用null-coalescing運算符(??),如下所示:

bool y = x ?? false;

如果我有一個屬性布爾值

If (HasData.HasValue) Then
            Dim value As Boolean = HasData.Value
        End If
        ' or you can also do this
        If (HasData IsNot Nothing) Then

    End If

這應該可以修復你的bug。

希望這可以幫助

使用布爾常量檢查相等性是一種方便的快捷方式:

        var x = (bool?) null;
        var y = x == true;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM