C#new没有参考持有人?

时间:2012-08-11 18:14:36

标签: c# reference stack

写作时

Console.Write(new Class().Work)

'new class`是否仍会生成引用?

堆叠上的价值是多少? (地址)

3 个答案:

答案 0 :(得分:1)

当然它会生成一个引用,必须存在Class的实例才能在其上调用Work。只是没有变量来保持它。

不确定你对堆栈的意思。

答案 1 :(得分:1)

这将是参考。你问题中的新课程。该值将是堆栈地址上的HEX值,指向该类。所以在.NET中,如果通过引用引用,则地址存储在堆栈中,这样当您想要访问它时,编译器会找出哪个HEX值,然后从中获取正确的对象(类,函数,任何东西)。堆。

答案 2 :(得分:1)

即:newobj,callvirt,call

是的,创建了一个对象 - 引用位于堆栈上,并由callvirt使用(保留调用方法的返回值)

不需要变量,尽管它与一个变量一样合法。