[英]C# initialize variable after checking a condition
我只需要使用檢查條件后初始化的變量。
我得到錯誤:
使用未分配的局部變量
編譯是否不檢查條件是否相同?
這是我的代碼。 我該如何解決?
Web web;
if (myCondition){
//heavy operation
web = site.openWeb();
}
for ( n loop)
{
//do stuff
if (myCondition){
//use web
}
}
if (myCondition){
web.Dispose()
}
只需將其設置為null即可確保它已初始化:
Web web = null;
然后,在進行處置時,最好檢查變量是否為null,以確保始終在必要時進行處置:
if (web != null){
web.Dispose();
}
另請注意,如果在循環中引發異常,則不會全部“ Dispose
”。 因此,您可能希望將其全部包裝在try / final中。
但是,既然已經走了那么遠-您是否考慮過使用 ?
嘗試這樣的事情:
Web web = null;
if (myCondition)
{
//heavy operation
web = site.openWeb();
}
for ( n loop)
{
//do stuff
if (myCondition)
{
//use web
}
}
if (myCondition)
{
web.Dispose()
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.