在C#中将int变量初始化为减一

时间:2018-09-19 14:51:34

标签: c#

我遇到了一些将变量初始化为减一的代码。那是在一些旧代码中,这背后有什么原因吗?因为据我所知,所有值类型都初始化为零。

我已经测试了代码,并且不做任何更改以使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

1 个答案:

答案 0 :(得分:-2)

TL; DR:要看情况,也许没有答案

可能的答案:

  1. 初始化变量更好。您永远不会知道如何将其用于某些稍后会有危险值的危险函数(优化代码后,如果未初始化则无法确定默认值)。

  2. 在某些情况下,当您只需要uint时,出于某些兼容性原因,可以在API中使用int。在这种情况下,初始化为负值可能是检测未设置/无效值的简便方法。

  3. 没有真正的原因,只是开发人员的一种习惯。我同意评论,请问他是否可能