Lazy-Allocate(缓分配)与Pre-Allocate(预分配)
Lazy-Allocate(缓分配)技术:未使用前不预付成本。以时间换空间的概念。
public class class1
{
private MyData _data;
public MyData Data
{
get{
if (_data == null)
data = new MyData();
return _data
}
}
}
Pre-Allocate(预分配)技术:无须预判断的快速存取,适用于必然会存取的属性;空间换时间的概念。
public class class1
{
private MyData _data;
public class class1()
{
_data=new MyData();
}
public MyData Data
{
get{return _data};
}
}