2016-10-10 36 views
0

我有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等價。

+0

如果'ClassName'是一個類 - 它的值在'param'中。作爲引用類型意味着'null'自然是可能的值之一。 – zerkms

+0

@zerkms你的意思是,整個if語句變得沒有必要了? –

+0

好吧,'param'擁有對象的引用。如果它是'!= null',那麼它肯定指向一個對象。 – zerkms

回答

0

只要ClassName是一個類(請參閱參考類型),您只需檢查它是否不是null

如果不是 - 那麼該變量將保留對您原樣使用的對象的引用。

相關問題