对象为null,即使该对象存在并且在调试器中也显示为[重复]

问题描述 投票:1回答:1

此问题已经在这里有了答案:

我正在编写Xamarin.Android应用程序,并在其中使用JSON API,当它无法在数据库中找到对象时,它只是为数据字段返回一个空字符串。这不是一个好的设计,但是我无法更改。为了检查这种可能性,我编写了这个简短的函数,将其绑定到LanguageExt.Either对象(包含JsonObject),并在数据为null时返回左值。

        private Either<Exception, T> CheckData<T>(T json) where T : JsonObject
        {
            if (json.Data == null)
            {
                return Left<Exception, T>(new KeyNotFoundException());
            }
            else
            {
                return Right(json);
            }
        }

问题是,它总是返回一个左值。尝试将条件更改为json.Data.Equals(null)会引发NullPointerException。到目前为止,我猜想我那里实际上是空值,但是当我在调试器中逐步执行程序时,即使我在if行上添加了断点,它也肯定是空的而不是空值。老实说,我的机智到底是什么,一个对象怎么可能为null,而在调试器中却不能为null?

以下是错误的图片:Debugger

我正在编写Xamarin.Android应用程序,并在其中使用JSON API,当它无法在数据库中找到对象时,它只是为数据字段返回一个空字符串。这不是一个好的设计,但我不能...

c# xamarin.android visual-studio-debugging language-ext
1个回答
0
投票

使用==

© www.soinside.com 2019 - 2024. All rights reserved.