Setting a default value for property that is mutable in C#
本问题已经有最佳答案,请猛点这里访问。
我有财产
1 | public int active { get; set; } |
我的数据库中的默认值为1。如果没有另外指定,我希望此属性默认为1
1 2 3 4 5 6 | public partial class test { public int Id { get; set; } public string test1 { get; set; } public int active { get; set; } } |
我在C 6里看到了,你能做到的。
1 | public int active { get; set; } = 1 |
但是我没有使用C 6:。谢谢你的建议。(对C/OOP来说非常非常新)
只需在构造函数中设置:
1 2 3 4 5 6 7 8 9 10 11 | public partial class Test { public int Id { get; set; } public string Test1 { get; set; } public int Active { get; set; } public Test() { Active = 1; } } |
我认为这比为了默认而避免自动实现的属性简单…
在构造函数中初始化它:
1 2 3 4 5 6 7 8 9 | public partial class Test { public int Active { get; set; } public Test() { Active = 1; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | // option 1: private member public partial class test { private int _active = 1; public int Id { get; set; } public string test1 { get; set; } public int active { get {return _active; } set {_active = value; } } } // option 2: initialize in constructor public partial class test { public test() { active = 1; } public int Id { get; set; } public string test1 { get; set; } public int active { get; set; } } |
在pre-c 6中执行此操作的默认方法要详细得多,但它只是语法-这相当于:
1 2 3 4 5 6 7 8 9 | public class Foo { private int _bar = 1; public int Bar { get { return _bar; } set { _bar = value; } } } |