【发布时间】:2009-05-07 19:37:44
【问题描述】:
int? test;
try
{
test = (int?) Int32.Parse ("7");
} catch {}
if (test == null)
Console.WriteLine("test is null!");
else
Console.WriteLine("test = {0}", test);
我有一些代码与此非常相似,实际上是相同的想法...创建一个变量,尝试对其进行初始化,然后测试初始化是否成功。
Visual Studios 给我一个错误提示“使用未分配的局部变量 'test'”,这有点烦人,可以通过将第一行设置为:
int? test = null;
但我很好奇这两行之间的区别是什么,因为编译器似乎真的很在意。据我所知,这两行代码的作用相同。
【问题讨论】:
-
OT,但是 FWIW... 你可能想看看 TryParse()
-
我实际上并没有使用此代码,这只是我似乎偶尔会遇到的一个场景。