当我在 C# 中编写以下代码时:
SqlCeCommand command;
try
{
// The command used to affect the data
command = new SqlCeCommand
{
// init code removed for brevity
};
// Do stuff
// Do more stuff
}
finally
{
if (command != null)
command.Dispose();
}
Resharper 提示我检查命令 != null。它说该命令可能未分配(因为它可能会在构建过程中以某种方式失败并仍然命中 try block )。
所以我将命令声明更改为 SqlCeCommand command = null;
,大家都很高兴。
但我想知道有什么区别?
为什么它不默认为空? 含义:C# 不只是将局部变量默认为 null 有何好处?
最佳答案
局部变量没有默认值。语言的一部分。
关于c# - null 和未初始化的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5096639/