我需要在检查条件后才使用初始化的变量.
我收到错误:
使用未分配的局部变量
编译是否检查条件是否相同?
这是我的代码.我该如何解决?
Web web;
if (myCondition){
//heavy operation
web = site.openWeb();
}
for ( n loop)
{
//do stuff
if (myCondition){
//use web
}
}
if (myCondition){
web.Dispose()
}
Run Code Online (Sandbox Code Playgroud)
只需将其设置为null即可确保它完全初始化:
Web web = null;
Run Code Online (Sandbox Code Playgroud)
然后,在处理时,更好地检查变量是否为空,以确保在必要时始终处置:
if (web != null){
web.Dispose();
}
Run Code Online (Sandbox Code Playgroud)
另请注意,Dispose如果在循环中抛出异常,则不会全部都是如此.所以你可能想把它全部包装在try/finally中.
但是,因为它已经到了那么远 - 你考虑使用?