C# 变量是否不接受赋值?

C# 变量是否不接受赋值?,c#,nullreferenceexception,C#,Nullreferenceexception,我在第103行得到一个“System.NullReferenceException”: 它显示变量“r”为null,但如第102行下面的图片所示,“this.parentRack”指向JNV.Rack的一个实例。就好像第102行的作业没有发生一样。 当语句如第105行所示链接在一起时,所有引用似乎都在工作。正在设置的值('Altitude')可以使用父引用,但它会抛出NullReferenceException(这就是为什么我分解语句来查找问题的原因) 您在这里有多线程访问吗?当执行第102

我在第103行得到一个“System.NullReferenceException”: 它显示变量“r”为null,但如第102行下面的图片所示,“this.parentRack”指向JNV.Rack的一个实例。就好像第102行的作业没有发生一样。

当语句如第105行所示链接在一起时,所有引用似乎都在工作。正在设置的值('Altitude')可以使用父引用,但它会抛出NullReferenceException(这就是为什么我分解语句来查找问题的原因)


您在这里有多线程访问吗?当执行第102行时,
this.parentRack
是否会
为null
,但当您点击第103行时,另一个线程已为其赋值?

这是为
发布
调试
而构建的吗?(有时候,这样的断点是可疑的)。
.parentSite
也是一个属性吗?是否有可能在其getter中抛出
NullReferenceException
或更改对象状态?我的猜测是这样的。parentRack正在返回null我想知道第一个示例中parentRack的值是什么它是为调试而构建的parentSite'是另一个先前已初始化的对象。正如Chris所说,parentRack是一个属性吗?Micah,不是,唯一的属性是setAltitude()。我已经更改了第二张图片,以便您可以看到parentRack的价值。parentRack有一个指向parentSite的“指针”,您可以看到rackList中有8个机架-这个机架就是其中的一个。因此,对parentRack的引用会产生对parentSite的有效引用,该引用显示该rack是一个成员。当一切正常时,这并不是那么令人困惑。这里是架构,一个站点是一个有多个机架的位置(本例中为8个机架)。每个机架都有许多硬件卡。“这”是一个带有GPS的硬件卡。