class1 ca = new class1(); // 声明对象并分配了内存。 接下来你可以访问ca的成员了 class 1 ca; //只是声明, 没有分配内存,是一个空引用。 此时要是访问CA的成员将出现NULLOBJECT EXCEPTION ca = new class1(); //分配内存。接下来可以访问ca的成员了
class1 ca = new class1(); 实例化对象,分配空间 class 1 ca; 只声明对象
class1 ca = new class1(); 是 class 1 ca; ca = new class1(); 这个的简写,其实没什么区别
class1 ca; 它仅是一个引用(指针),保存在线程的堆栈上,占用4Byte的内存空间,将用于保存class1对象的有效地址,其执行过程正是上文描述的在线程栈上的分配过程。此时aUser未指向任何有效的实例,因此被自行初始化为null,试图对aUser的任何操作将抛出NullReferenceException异常。 ca = new class1(); 通过new操作执行对象创建.我是通过变通得到的 王涛 微软C# MVP 专家解释
接下来你可以访问ca的成员了
class 1 ca; //只是声明, 没有分配内存,是一个空引用。
此时要是访问CA的成员将出现NULLOBJECT EXCEPTION
ca = new class1(); //分配内存。接下来可以访问ca的成员了
class 1 ca; 只声明对象
class 1 ca;
ca = new class1();
这个的简写,其实没什么区别
它仅是一个引用(指针),保存在线程的堆栈上,占用4Byte的内存空间,将用于保存class1对象的有效地址,其执行过程正是上文描述的在线程栈上的分配过程。此时aUser未指向任何有效的实例,因此被自行初始化为null,试图对aUser的任何操作将抛出NullReferenceException异常。
ca = new class1();
通过new操作执行对象创建.我是通过变通得到的
王涛 微软C# MVP 专家解释