gpt4 book ai didi

C# 在检查条件后初始化变量

转载 作者:太空宇宙 更新时间:2023-11-03 18:28:42 24 4
gpt4 key购买 nike

我需要使用仅在检查条件后才初始化的变量。
我收到错误:

Use of unassigned local variable

编译不检查条件是否相同吗?
这是我的代码。我该如何解决?

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;

然后,在处置时,最好检查变量是否不为空,以确保在必要时始终处置:

if (web != null){
web.Dispose();
}

另请注意,如果在循环中抛出异常,您将不会全部Dispose。所以你可能想把它全部包装在 try/finally 中。

但既然已经到了那么远 - 你有没有考虑过 using

关于C# 在检查条件后初始化变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27708685/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com