我遇到了一些将变量初始化为减一的代码。那是在一些旧代码中,这背后有什么原因吗?因为据我所知,所有值类型都初始化为零。
我已经测试了代码,并且不做任何更改以使int变量未初始化或减一,结果是相同的。 你能启发我吗?
class Program
{
static void Main()
{
SampleDelegate del = new SampleDelegate(SampleMethodOne);
del += SampleMethodTwo;
int Number = -1; //or -> int Number;
int returnedValue = del(out Number);
Console.WriteLine("returnedValue = {0}", returnedValue);
Console.ReadLine();
}
public static int SampleMethodOne(out int Number)
{
return Number = 1;
}
public static int SampleMethodTwo(out int Number)
{
return Number = 3;
}
}
public delegate int SampleDelegate(out int Number);
/returns 2
答案 0 :(得分:-2)
TL; DR:要看情况,也许没有答案
可能的答案:
初始化变量更好。您永远不会知道如何将其用于某些稍后会有危险值的危险函数(优化代码后,如果未初始化则无法确定默认值)。
在某些情况下,当您只需要uint时,出于某些兼容性原因,可以在API中使用int。在这种情况下,初始化为负值可能是检测未设置/无效值的简便方法。
没有真正的原因,只是开发人员的一种习惯。我同意评论,请问他是否可能