繁体   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