gpt4 book ai didi

c# - 对象为 null,即使该对象存在并且在调试器中显示为空

转载 作者:太空宇宙 更新时间:2023-11-03 14:38:24 25 4
gpt4 key购买 nike

<分区>

我正在编写一个 Xamarin.Android 应用程序并使用 JSON API,当它在数据库中找不到对象时,它只是为数据字段返回一个空字符串。不是一个好的设计,但我不能改变它。为了检查这种可能性,我编写了这个简短的函数,我将其绑定(bind)到包含 JsonObject 的 LanguageExt.Either 对象,并在数据为 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。到目前为止,我猜我实际上在那里有 null 值,但是当我在调试器中单步执行程序时,它肯定被填充而不是 null,即使我在 if 行添加断点也是如此。老实说,我无能为力,对象怎么可能为 null,但在调试器中又不为 null?

这是错误的图片: Debugger

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com