假设你有一个类 Person:
public class Person
{
public string Name { get; set;}
public IEnumerable<Role> Roles {get; set;}
}
我显然应该在构造函数中实例化角色。 现在,我用这样的 List 来做:
public Person()
{
Roles = new List<Role>();
}
但是我在 System.Linq
名称空间中发现了这个静态方法
IEnumerable<T> Enumerable.Empty<T>();
来自 MSDN:
Empty(TResult)()
方法缓存一个 类型为TResult
的空序列 它返回的对象是枚举的, 它不会产生任何元素。在某些情况下,这种方法是有用的 将空序列传递给 用户定义的方法,该方法接受 它也可以用来 为方法生成一个中性元素 例如
Union
。请参阅示例部分 例子
那么这样写构造函数更好吗? 你使用它吗? 为什么? 或者如果不,为什么不呢?
public Person()
{
Roles = Enumerable.Empty<Role>();
}