在C#5和更早版本中,要为自动实现的属性提供一个初始值,您必须在构造函数中进行设置。
从C#6.0开始,您可以内联指定初始值。语法为:
public int X { get; set; } = x; // C# 6 or higherDefaultValueAttribute打算由VS设计人员(或任何其他使用者)用来指定默认值,而不是初始值。(即使在设计对象中,初始值也是默认值)。
在编译时
DefaultValueAttribute不会影响生成的IL,也不会读取它来将属性初始化为该值(请参见DefaultValue属性不适用于我的Auto
Property)。
属性的例子影响IL是
ThreadStaticAttribute,
CallerMemberNameAttribute…



