У меня есть начальный фрагмент кода, который 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' является классом - его значение находится в' param'. Как ссылочный тип означает, что «null» является одним из возможных значений естественным образом. – zerkms
@zerkms Вы имеете в виду, что все инструкции if не нужны? –
Ну, 'param' содержит ссылку на объект. Если это '! = Null', то это определенно относится к объекту. – zerkms