转载请保留此原文链接 http://www.cnblogs.com/LikeVirgo/p/5126929.html
属性初始化的最佳实践
属性的初始化
初始化属性跟初始化字段大体是一样的。通常情况下,我们都是基于字段来实现属性,所以为字段设置好初始值就等同于为属性也设置好了。
1 namespace PropertyInitialization 2 { 3 class User 4 { 5 private string name = ""; 6 7 public string Name 8 { 9 get { return this.name; } 10 set { this.name = value; } 11 } 12 13 public User(string name) 14 { 15 this.Name = name; 16 } 17 } 18 }
自动实现的属性的初始化
对于自动实现的属性(Auto-Implemented Properties),在C# 6及更高的版本上,可以使用Auto-Property Initializers进行初始化。
1 namespace PropertyInitialization 2 { 3 class User 4 { 5 public string Name { get; set; } = ""; 6 7 public User(string name) 8 { 9 this.Name = name; 10 } 11 } 12 }
但使用C# 5时,就只能在构造函数中完成初始化了。
1 namespace PropertyInitialization 2 { 3 class User 4 { 5 public string Name { get; set; } 6 7 public User() 8 { 9 this.Name = ""; 10 } 11 12 public User(string name) 13 { 14 this.Name = name; 15 } 16 } 17 }
参考资料
时间: 2024-10-10 18:26:14