C# 如何内联初始化自动静态属性?

C# 如何内联初始化自动静态属性?,c#,properties,C#,Properties,我有一个: public class Car { public static int ID {get;set;} } 如何使用0初始化ID?您不需要使用零初始化它,因为编译器会自动进行初始化。但如果您想初始化为另一个值,则可以使用静态构造函数: static Car() { ID = 0; } 您不需要用零来初始化它,因为编译器会自动进行初始化。但如果您想初始化为另一个值,则可以使用静态构造函数: static Car() { ID = 0; } 不可为

我有一个:

 public class Car {
        public static int ID {get;set;}
 }

如何使用
0
初始化
ID

您不需要使用零初始化它,因为编译器会自动进行初始化。但如果您想初始化为另一个值,则可以使用静态构造函数:

static Car()
{
    ID = 0;
}

您不需要用零来初始化它,因为编译器会自动进行初始化。但如果您想初始化为另一个值,则可以使用静态构造函数:

static Car()
{
    ID = 0;
}

不可为null的int的默认值已为0。
因此您无需执行任何操作。

不可为null的int的默认值已经是0。
因此,您无需执行任何操作。

如果C#中的变量类型为值类型,则将使用默认值初始化它。正如您使用int type定义的属性一样,它将被初始化为0。

如果C#中的变量类型是value type,那么它将使用默认值初始化。由于您使用int类型定义了属性,它将被初始化为0。

int的默认值已为零int的默认值已为零
public
public static Car(){…}
中是否不需要?我问这个问题是因为我是爪哇难民。@Yoda:这甚至是不允许的。@Yoda:不,这甚至是不允许的。习惯的力量。:-)
public static Car(){…}
中的
public
是否不必要?我问这个问题是因为我是爪哇难民。@Yoda:这甚至是不允许的。@Yoda:不,这甚至是不允许的。习惯的力量。:-)引用类型也使用其默认值初始化。也就是说,
null
。所有类型都有一个默认值。引用类型也用其默认值初始化。也就是说,
null
。所有类型都有一个默认值。