为 C# 公共属性设置默认值的最简单/直接的方法是什么?
// 我如何为此设置默认值?
public string MyProperty { get; set; }
请不要建议我使用私有属性并实现获取/设置公共属性。尽量保持简洁,并且不想争论为什么会更好。谢谢。
为 C# 公共属性设置默认值的最简单/直接的方法是什么?
// 我如何为此设置默认值?
public string MyProperty { get; set; }
请不要建议我使用私有属性并实现获取/设置公共属性。尽量保持简洁,并且不想争论为什么会更好。谢谢。
只需在构造函数中初始化它:
public class MyClass
{
public string MyProperty { get; set; }
public MyClass()
{
MyProperty = "default value";
}
}
请注意,如果您有多个构造函数,则需要确保它们中的每一个都设置属性或委托给另一个构造函数。
在构造函数中设置默认值:
this.MyProperty = <DefaultValue>;
请不要建议我使用私有财产
这是设置此类默认值的标准方法。您可能不喜欢它,但即使是自动属性语法在编译后的作用 - 它会生成一个私有字段并在 getter 和 setter 中使用它。
您可以在构造函数中设置属性,该属性将尽可能接近默认值。
不,如果您可以仅标记属性以指示默认值,那就太好了,但您不能。如果你真的想使用自动属性,你不能在属性声明中设置默认值。
我想出的最干净的解决方法是在构造函数中设置默认值。它还是有点丑。默认值不与属性声明并置,如果您有多个构造函数可能会很痛苦,但这仍然是我发现的最好的
如果您要使用属性的自动实现,唯一真正的选择是在构造函数中初始化属性值。
从 C# 6.0 开始,您可以为自动属性分配默认值。
public string MyProperty {get; set; } = "Default Value";