使用“ new”关键字与不使用关键字有什么区别?

时间:2018-10-08 11:10:20

标签: c#

这有什么区别?

Class object1 = new Class();

这:

Class object1;

如果我错了,请更正我,但是我可以肯定,第一个代码用于引用一个新对象,而另一个则没有。即使是这种情况,我仍然不知道我应该为程序使用哪一个。预先感谢!

4 个答案:

答案 0 :(得分:7)

第一个是创建new对象的Class实例。

第二个只是声明Class类型的变量。在您初始化之前,它将一直未初始化。

请注意,您的第一个示例与第二个示例相同,只是对其进行了初始化。

Class object1 = new Class();

是以下语言的简短语法:

Class object1;
object1 = new Class();

答案 1 :(得分:2)

Class object1 = new Class();

相同
Class object1; // declare variable
object1 = new Class(); // instantiate object and assign reference to variable

答案 2 :(得分:2)

Class object1 = new Class();创建一个Class的新实例,并将其分配给object1变量。

Class object1;仅声明变量,但不为其分配任何值(甚至不为null)。您不能使用变量例如执行空检查或将其传递给另一个方法,直到为它分配值为止。

Class object1;
// other code
object1 = new Class();

答案 3 :(得分:0)

在声明变量Class object1时,您只是在定义放置某物的位置,该位置只会容纳该类型的对象。最初它将为空。

使用new时,实际上是在创建对象。