实际上有什么不同的 new 和 object 以及它如何在 ram 中运行

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?


倚天杖
浏览 125回答 1
1回答

慕森王

首先,你应该知道Javascript是一种动态的、弱类型的脚本语言并且在运行时绑定,而C#(C Sharp)是一种强类型的静态语言并且提前编译。对象是描述其行为的类的实例。该类可以描述为创建对象的蓝图或模板。new是 C# 中的一个关键字,用于创建类的对象并返回其指针或地址。然后我们使用它的指针来访问对象。该对象存储在堆上,并返回其指针以供进一步使用。因此,在 C# 中,您可以通过以下方式创建对象Form objForm = new Form();请阅读本文以进一步了解堆:堆是一块内存,对象(即引用类型实例)驻留在其中。每当创建一个新对象时,它都会在堆上分配,并返回对该对象的引用。在程序执行期间,堆开始随着新对象的创建而填满。运行时有一个垃圾收集器,它会定期从堆中释放对象,因此您的程序不会因内存不足而运行。只要一个对象没有被任何本身活着的东西引用,它就有资格被释放。
打开App,查看更多内容
随时随地看视频慕课网APP