我可以从if代码块中保留变量吗?
我有
if(some condition){
var result=queryexecute(some query);
}
...Some non dependent code...
if(result != null){
....
}
我得到的结果在当前上下文中不存在。我猜测结果是本地的if块。由于两者之间的代码,我不希望组合两个代码块。有没有办法在第二个if块中定义结果?
queryexecute的返回类型是'public static IEnumerable'。我非常清楚知道如何声明该类型的空对象。但是,如果有人能够如此慷慨地阐明那么我就能做到这一点。
答案 0 :(得分:7)
您需要从var
切换到声明的类型:
IEnumerable result = null; //or whatever it is
if(some condition){
result=queryexecute(some query);
}
...Some non dependent code...
if(result != null){
....
}
答案 1 :(得分:1)
可替换地:
var result = some_condition ? queryexecute(somequery) : null;
// ...
if (result != null) {
...
}