c# - 它是 C# 错误吗?

标签 c#

以下代码在 VS2010 中给出了编译时错误:

使用未分配的局部变量“error”

leveldb_memory error;

try
{
    return leveldb_open(options, name, out error); // <== Notice `out error`
}
finally
{
    Validate(error); // <== Use of unassigned local variable 'error'
}

好像不对,有没有办法不修改代码就可以克服这个错误?


编辑

哦,好吧,这不是 C# 错误...:(

最佳答案

error 没有初始值。如果 leveldb_open 在设置之前抛出异常,它仍然不会。

因此使用 error 而不为其设置值会导致错误。

如果 leveldb_memory 是可空类型,您可以将其初始化为 null:

leveldb_memory error = null;

关于c# - 它是 C# 错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11709949/

相关文章:

c# - 如何输出以控制 bool 值?

c# - 显示格式字符串,整数到百分比

c# - 如何将结构或类从 .NET COM dll 返回到使用的 VB6 应用程序?

C# 查找套接字 ID?

c# - 重试失败的 System.Data.SqlClient 操作的干净方法

c# - HTTP 触发函数的正确错误处理?

javascript - 从 Javascript (JQuery) 调用 C# 函数 (WebMethod)

c# - 接口(interface)和抽象类中的 Xml 属性

C# SubmitChanges 不起作用

c# - 正则表达式可以去除什么,例如字符串左边的 "note:"和 "firstName: "?