object 和 new 有什么区别?原因在 javascript 中,当您编写如下代码时,在使用 new 关键字时在堆栈中创建了一个地址。 var a=new A(); function A(){};所以在 c# 中,当我这样创建时,它与上面的概念是否相同? int x; Console.WriteLine("ENter value of N"); x = int.Parse(Console.ReadLine()); object y = x; //boxing int z = (int)x; // unboxing Console.WriteLine(z);当我使用 new 创建地址时,c# 有什么不同 Form myForm = new Form(); //this can call boxing or no?
1 回答
慕森王
TA贡献1777条经验 获得超3个赞
首先,你应该知道Javascript是一种动态的、弱类型的脚本语言并且在运行时绑定,而C#(C Sharp)是一种强类型的静态语言并且提前编译。
对象是描述其行为的类的实例。该类可以描述为创建对象的蓝图或模板。
new
是 C# 中的一个关键字,用于创建类的对象并返回其指针或地址。然后我们使用它的指针来访问对象。该对象存储在堆上,并返回其指针以供进一步使用。
因此,在 C# 中,您可以通过以下方式创建对象
Form objForm = new Form();
请阅读本文以进一步了解
堆:
堆是一块内存,对象(即引用类型实例)驻留在其中。每当创建一个新对象时,它都会在堆上分配,并返回对该对象的引用。在程序执行期间,堆开始随着新对象的创建而填满。运行时有一个垃圾收集器,它会定期从堆中释放对象,因此您的程序不会因内存不足而运行。只要一个对象没有被任何本身活着的东西引用,它就有资格被释放。
- 1 回答
- 0 关注
- 124 浏览
添加回答
举报
0/150
提交
取消