想象一下,你在课堂上有一个字段_items.您可以在声明点初始化它:
class C
{
IList<string> _items=new List<string>();
}
Run Code Online (Sandbox Code Playgroud)
现在我想将此字段转换为自动生成的属性,但现在初始化无效:
class C
{
public IList<string> Items=new List<string>(); {get; set;} // Invalid
}
Run Code Online (Sandbox Code Playgroud)
所以,我必须这样做:
class C
{
public IList<string> Items {get; set;}
public C
{
Items=new List<string>();
}
}
Run Code Online (Sandbox Code Playgroud)
但这并不像在声明点初始化字段那样方便.有没有更好的方法来执行此操作,而不必(不必要地)使用私有(在声明点初始化)字段来支持此属性,例如.
谢谢
在c#6中你可以这样写:
class C
{
public IList<string> Items {get; set;} = new List<string>();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9755 次 |
| 最近记录: |