我有以下代码:
if (question.DetailsJSON != null) {
var details = JSON.FromJSONString<List<Question.Detail>>(question.DetailsJSON);
}
这可行,但在块之外,细节不可用。
如果没有预先声明详细信息变量,我是否有办法在测试之后执行此操作,并且仍然可以在if之外使用详细信息?
答案 0 :(得分:1)
您可以组合声明和初始化,并使用条件运算符来避免使用if
语句引入新范围:
var details = question.DetailsJSON != null
? JSON.FromJSONString<List<Question.Detail>>(question.DetailsJSON)
: null;