public List<ABC> abc {get; set; } = new List<ABC>();
我在我的代码审查之一中看到了此代码,有人可以帮助我理解为什么开发人员可能会这样编写它。
答案 0 :(得分:3)
public List<ABC> abc {get; set; } = new List<ABC>();
这将声明类型为abc
的名为List<ABC>
的属性。
该属性有一个getter和setter(所以没有只读的东西)。
当类实例化到新列表时,= new List<ABC>();
部分初始化该属性。构造实例后,该操作仅执行一次。
此语法是C#6中的新增功能。
在此之前,您需要在构造函数中初始化属性或使用显式的后备字段:
private List<ABC> _abc = new List<ABC>();
public List<ABC> abc {
get {return _abc; }
set { _abc = value; }
}
请注意,在此处设置公共二传手通常不是一个好主意。在大多数情况下,您只希望类的使用者操作列表的 content ,而不希望从外部交换整个列表(引用)。