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

阿卜杜勒·塞尔蒙

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

我已经测试了代码,它不会改变任何东西来保持 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

御鸟

TL;DR:这取决于,也许没有答案

可能的答案:

  1. 初始化变量更好。您永远不知道如何在某些具有意外值可能很危险的后续函数中使用它(在优化代码时,如果未初始化,则无法确定默认值)。

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法在C中将int初始化为0

来自分类Dev

在C中将局部变量初始化为零

来自分类Dev

如何在C语言中将float变量初始化为无穷大?

来自分类Dev

在C ++中将2D指针数组初始化为成员变量

来自分类Dev

在C ++中将2D指针数组初始化为成员变量

来自分类Dev

在C语言中,为什么我的初始化为0 int变量被“ nm”报告为未初始化?

来自分类Dev

如何在C中将结构数组初始化为Global?

来自分类Dev

在C中将float与int相乘

来自分类Dev

在C中将int转换为int

来自分类Dev

在C中将int转换为int

来自分类Dev

如何在MVC4 C#中将nullable int by1减1?

来自分类Dev

如何在C ++ 11中将结构体中的指针初始化为null?

来自分类Dev

如何在C中将文字初始化为size_t?

来自分类Dev

为什么需要将int变量初始化为0?

来自分类Dev

在C ++中将char数组转换为int

来自分类Dev

在C中将int转换为char?

来自分类Dev

在C中将char数组转换为int

来自分类Dev

在C ++中将bitset转换为int

来自分类Dev

在C中将int转换为short

来自分类Dev

在C ++中将double *转换为int *

来自分类Dev

在C#中将RadioButton绑定到int

来自分类Dev

在C中将int转换为char

来自分类Dev

在C中将int转换为char的问题

来自分类Dev

在C中将double转换为int

来自分类Dev

在 C# 中将 ObjectParameter 转换为 Int

来自分类Dev

Objective-C中的int是否自动初始化为0?

来自分类Dev

在Rcpp中将矩阵初始化为NA

来自分类Dev

如何在C ++中将int [] []转换为int **

来自分类Dev

如何在C中将int转换为short int?