框架源码学习

2008-08-07 13:33:46.0     浏览:1499     来源:中国IT实验室
关键词:  .Net Framework     框架源码  
看来真不错,变聪明了,只分配了一次m_connString的内存空间,只初始化了一次m_connString.
看来多亏了static.

注意:这里应该引起你的关注.
有一些朋友的代码中时常出现为值类型成员赋0,为引用类型赋null
public class Person//人类
{
private int _age = 0;//年龄
}
或者
public class Person//人类
{
private Address _address = null;//地址对象
}
这其实是无必要的,和上面new SqlHelper()的构造过程一样.在分配数据成员的内存空间时,便会为值类型成员赋0,为引用类型赋null.如果我们显示的赋值的话,不但没有任何帮助,反而会增加指令的操作,影响效率.
Effective C# 中有介绍

其实上面主要的知识点是对象的构造过程,让我们来复习一下吧.
第一种:
1.当我们调用类里的静态方法时,如果类里面的静态成员还未初始化,那么这个类的所有静态成员依据在类里面出现的次序初始化.
2.为静态成员分配内存空间,此时空间存储数据为0或null
3.执行静态成员的初始化语句(也就是赋值语句)
4.执行类的静态构造函数

很明显,这样的话如果我们第二次调用类里的静态方法时,1,2,3,4都不会被执行了.
[上一页]   [第1页]   [第2页]   [第3页]   [第4页]   [下一页]