【发布时间】:2011-03-25 16:13:55
【问题描述】:
哪个实现更好还是没有区别?
1.
public class Simple
{
public IList<string> Entries { get; private set; }
public Simple()
{
Entries = new List<string>();
}
}
或 2.
public class Simple
{
private readonly IList<string> entries = new List<string>();
public IList<string> Entries { get { return entries; } }
}
【问题讨论】:
-
第一个,因为第二个没有编译;-)
-
这与我自己的问题非常相似 - stackoverflow.com/questions/5160546/…
-
@Linkgoron:不是这样。我认为他的重点是列表的初始化,而不是是否使用自动属性。
-
视情况而定。不过,必须在第二个上修复 set 属性。
-
@daniel 我没有说它们完全一样。但是私有集或使用成员的优势非常相关。