有人能告诉我C#是否自动初始化变量?如果是,那么默认值是什么?
答案 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