在C#中使用if块之外的变量持久化

Mag*_*sso 1 c# scope razor

我可以从if代码块中保留变量吗?

我有

if(some condition){
  var result=queryexecute(some query);
}

...Some non dependent code...

if(result != null){
  ....
}
Run Code Online (Sandbox Code Playgroud)

我得到的结果在当前的背景下并不存在.我猜测结果是本地的if块.由于两者之间的代码,我不希望组合两个代码块.在第二个if块中定义结果的任何方法?

queryexecute的返回类型是'public static IEnumerable'.我非常清楚知道如何声明该类型的空对象.但是我能做到这一点,如果有人会如此善良地阐明.

Aar*_*nLS 7

您需要切换var到声明的类型:

IEnumerable result = null; //or whatever it is

if(some condition){
  result=queryexecute(some query);
}

...Some non dependent code...

if(result != null){
  ....
}
Run Code Online (Sandbox Code Playgroud)