2016-10-10 6 views
0

私は、値をチェックしパラメータをdeserealized初期スニペットを持っているし、エラーを処理します。離別された階級のメンバーに価値があるかどうかをチェックする方法?

var param = js.Deserialize<int?>(jqData.Params); 


if (param.HasValue) 
{ 
    resp.ReturnValue = param.Value; 
} 
else 
{ 
    //handle error code 
} 

、私の修正時に、私が代わりにNULL可能整数

のクラス・パラメータのリストを受け入れる方法を変更しました
var param = js.Deserialize<ClassName>(jqData.Params); 

これで、.HasValueメソッドと.Valueメソッドが無効になりました。

私の質問は:最初のif文と同じ意味を持つように、これらの2行を正しく変更するにはどうすればよいですか?

これまでのところ、私はif (param != null)に切り替えることを考えましたが、.Valueに相当するとは思えません。

+0

'ClassName'がクラスである場合、その値は' param'にあります。参照型であることは、自然に可能な値の1つである「ヌル」を意味します。 – zerkms

+0

@zerkmsあなたは、if文全体が不要になることを意味しますか? –

+0

まあ、 'param'はオブジェクトへの参照を保持しています。 '!= null'ならば、それは間違いなくオブジェクトを参照します。 – zerkms

答えて

0

ClassNameがクラス(参照型を参照)になるとすぐに、nullでないかどうかを確認するだけです。

変数がそうでない場合、変数はそのまま使用するオブジェクトへの参照を保持します。

関連する問題