两个小问题
1.DataTable 使用的时候,new 一个和直接赋值有什么区别?
2.类里面的数据成员是对象的时候,是直接初始化还是从构造函数中初始化?
class A{
}
(一): Class B{
A a = new A();
public B(){
}
}
(二): Class B{
A a;
public B(){
a = new A();
}
}
[解决办法]
1.不了解
2.两者没有本质区别,不过建议用2,如果还有一个public B(string name){},而这里并不用到A,那么就没必要初始化A。
[解决办法]
对象在方法里面的实例化 和在方法外边的实力化
用法各有千秋,
如果你想全局使用 那就在外边实例化(1),如果只是限于方法里面的,那就用(2)
[解决办法]
1 DataTable dt = new DataTable() 与 DataTable dt;
个人认为:前者dt经过方法new之后,会首先执行DataTable的构造函数,而此时dt 已经有了一个DataTable的所有信息,如Rows.Count,而这些心都都是初始化的值,比如0
后者dt只是简单定义了,而没有初始化,而此时dt = null ,对应的,它没有 Rows等一系列属性
比较:前者dt已经声明,并且它已经在内存中占据一定的位置
后者dt为null,内存并没有分配空间
[解决办法]