所谓lazy-Allocate,未使用前不预付内存成本
public class UserDetails
{
protected GroupCollection u_grouplist;
.........
public GroupCollection GroupList
{
get
{
if (u_grouplist == null)
{
u_grouplist = new GroupCollection();
}
return u_grouplist;
}
}
}
,在使用的时候再创建实例,但是在类的创建时候已经声明,难道声明不预付内存成本吗?不始终不太明白,可否帮兄弟解答一下?万分感谢
public class UserDetails
{
protected GroupCollection u_grouplist;
.........
public GroupCollection GroupList
{
get
{
if (u_grouplist == null)
{
u_grouplist = new GroupCollection();
}
return u_grouplist;
}
}
}
,在使用的时候再创建实例,但是在类的创建时候已经声明,难道声明不预付内存成本吗?不始终不太明白,可否帮兄弟解答一下?万分感谢
解决方案 »
- <param name="" value="">中value参数长度的问题
- 如何通过代码访问ftp非默认目录
- 页面定向问题
- DataGrid问题
- 自动刷新页面 然后触发事件
- 大家有用过微软的wmdrm7.1吗?请问wmdrm是如何对过期时间进行控制的? 证书是如何知道用户修改了系统时间的?
- 很奇怪 调试模式就正常
- 用updatepanel时的异常处理问题
- BC30560: “commentopus_index_ascx”在命名空间“_ASP”中不明确
- asp.net的配置问题(送分了!!!!!!!!!!!!!!)
- ajax运用中的问题,JAVASCRIPT调用的服务器端中程序中获取不了页面的FORM,不知道什么原因,希望高手说明原因!!!!!!!!!
- asp.net中调用com+提示没有访问权限问题。
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};
}
}
string str;这样所占用的资源很少。
但是当你new一个引用类型的时候,就会在托管堆上构建这个对象出来,如:
new DataTable();
这样才会在托管堆内存上创建一个新的DataTable,分配内存。这个就是引用类型对象。
但这只是对引用类型的变量而言是如此……