如何检查deserealized的类成员是否有价值?
问题描述:
我有deserealized参数,检查值和处理错误的初始片段:如何检查deserealized的类成员是否有价值?
var param = js.Deserialize<int?>(jqData.Params);
if (param.HasValue)
{
resp.ReturnValue = param.Value;
}
else
{
//handle error code
}
现在,我的修改过程中,我已经改变了方法接受类参数列表,而不是为空的整数
的var param = js.Deserialize<ClassName>(jqData.Params);
现在它使.HasValue和.Value方法无效。
我的问题是:我该如何正确修改这两行,使其具有与初始if语句相同的含义?
到目前为止,我只想到切换到if (param != null)
,但我想不出与.Value等价。
答
只要ClassName
是一个类(请参阅参考类型),您只需检查它是否不是null
。
如果不是 - 那么该变量将保留对您原样使用的对象的引用。
如果'ClassName'是一个类 - 它的值在'param'中。作为引用类型意味着'null'自然是可能的值之一。 – zerkms
@zerkms你的意思是,整个if语句变得没有必要了? –
好吧,'param'拥有对象的引用。如果它是'!= null',那么它肯定指向一个对象。 – zerkms