C#是否自动初始化变量

时间:2013-05-07 20:21:29

标签: c#

有人能告诉我C#是否自动初始化变量?如果是,那么默认值是什么?

2 个答案:

答案 0 :(得分:1)

当您声明内联内容时,它不会

int Foo()
{
    int bar; //Bar is not initlized, this code will not compile
    bar =  bar + 1;
    return bar;
}

但是,如果在类中声明它的默认值等于default(type)

class Baz
{
   int bar;

   int Foo()
   {
        bar =  bar + 1;
        return bar; //default(int) is 0 so this returns "1"
   }
}

答案 1 :(得分:0)

如果变量范围是方法,则c#没有变量的默认值...如果范围至少是字段,则默认值为default(YourType) ...请参阅http://msdn.microsoft.com/en-gb/library/xwth0h0d%28v=vs.80%29.aspx