1

我有以下代码:

if (question.DetailsJSON != null) {
   var details = JSON.FromJSONString<List<Question.Detail>>(question.DetailsJSON);
}

这可行,但在块之外,详细信息不可用。

在没有预先声明 details 变量的情况下,有没有一种方法可以让我在 if 测试中执行此操作,并且在 if 之外仍然有可用的详细信息?

4

1 回答 1

1

您可以结合声明和初始化,并使用条件运算符来避免在if语句中引入新范围:

var details = question.DetailsJSON != null
?   JSON.FromJSONString<List<Question.Detail>>(question.DetailsJSON)
:   null;
于 2012-10-05T03:45:51.360 回答