可能重复:
如何为C#Auto-Property提供默认值?
有没有什么好方法可以为自动属性提供默认值?
public int HowHigh { get; set; } // defaults to 0
如果没有在任何地方明确设置,我希望它是5.你知道一个简单的方法吗?例如,我可以在构造函数或其他东西中设置它,但这并不优雅.
更新:C#6得到了它:http://geekswithblogs.net/WinAZ/archive/2015/06/30/whatrsquos-new-in-c-6.0-auto-property-initializers.aspx
Jon*_*eet 13
不,没有任何好的方法 - 基本上你必须在构造函数中设置它,这是不愉快的.
像这样的自动属性有各种限制 - 我最大的抱怨是没有办法创建一个只读的自动属性,可以在构造函数中设置但不在其他地方(并由readonly字段支持).
Bro*_*ass 12
你可以做的最好是在构造函数中设置它,你不能在自动属性中进行更改,你需要一个支持字段,否则你自己实现setter/getter.
使用支持字段,您可以编写如下内容:
private int _howHigh = 0;
public int HowHigh { get {return _howHigh; } set { _howHigh = value; } }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14907 次 |
| 最近记录: |