簡體   English   中英

對象引用未設置為檢查null的對象實例

[英]object reference not set to an instance of an object in check for null

我得到的object reference not set to an instance of an object while循環條件下object reference not set to an instance of an object錯誤object reference not set to an instance of an object我不知道它發生了什么。 代碼是:

while (ClassName.StaticDataTable == null || ClassName.StaticDataTable.Rows == null)

我試圖讓對象名稱解釋。 我以為|| 是一個短路操作員,所以如果第一個條件為真,它將不會評估第二個條件,並且錯誤不應該來自那里。 有關導致錯誤的原因的任何想法?

如果您正在獲取null reference異常

while (ClassName.StaticDataTable == null || ClassName.StaticDataTable.Rows == null)

我想到了例如:

ClassName == null

所以可能 (只是猜測)你就足以添加一個|| 已經存在的其他人面前更多的條件,比如

while (ClassName == null || ClassName.StaticDataTable == null || ClassName.StaticDataTable.Rows == null)

編輯

如果StaticDataTable屬性不僅返回一個值,而且StaticDataTable其中執行拋出null reference exception.則可能存在這種null reference exception. 嘗試深入該屬性。

希望這可以幫助。

ClassName是接收“未設置為對象實例的對象引用”或StaticDataTable的對象嗎?

如果它是ClassName對象為null,則嘗試檢索StaticDataTable會引發該錯誤。

我錯過了OR(||) - 下面的答案應該有效。 似乎正在發生的是當NOT NULL時不滿足第一個條件,因此不會使第二個條件短路。 雖然下面的'&&!='符合'!='並且短路第二個條件。

如果你需要null然后嘗試

    while (true) {
            if (classname.tbl != null && classname.tbl.object != null){
               break;
            }
             <whatever code you need>
            ...
    } end while

這將循環,直到其中任何一個為空(都不為空)}

暫無
暫無

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

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