考虑从.NET 4.0库下面的代码片段:显式地初始化构造函数中私有字段的默认值.. WTF?
private T[] array;
private static T[] emptyArray;
private int size;
private int version;
static Stack()
{
Stack<T>.emptyArray = new T[0];
}
public Stack()
{
array = Stack<T>.emptyArray;
size = 0;
version = 0;
}
是否有背后的初始化值类型的私有字段默认值(在本例中size
和version
以上)的任何理由明确地比公司的编码标准等?