写作时
Console.Write(new Class().Work)
'new class`是否仍会生成引用?
堆叠上的价值是多少? (地址)
答案 0 :(得分:1)
当然它会生成一个引用,必须存在Class
的实例才能在其上调用Work
。只是没有变量来保持它。
不确定你对堆栈的意思。
答案 1 :(得分:1)
这将是参考。你问题中的新课程。该值将是堆栈地址上的HEX值,指向该类。所以在.NET中,如果通过引用引用,则地址存储在堆栈中,这样当您想要访问它时,编译器会找出哪个HEX值,然后从中获取正确的对象(类,函数,任何东西)。堆。
答案 2 :(得分:1)
即:newobj,callvirt,call
是的,创建了一个对象 - 引用位于堆栈上,并由callvirt使用(保留调用方法的返回值)
不需要变量,尽管它与一个变量一样合法。