1

写的时候

Console.Write(new Class().Work)

“新类”是否仍会生成参考?

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

4

3 回答 3

1

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

不知道你对堆栈的意思。

于 2012-08-11T18:17:23.533 回答
1

它将在参考上。您问题中的新课程。该值将是指向类的堆栈地址上的 HEX 值。因此,在 .NET 中,如果您通过引用进行引用,则地址存储在堆栈中,以便当您想要访问它时,编译器会找出哪个 HEX 值,然后从堆。

于 2012-08-11T18:23:05.640 回答
1

即:newobj、callvirt、call

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

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

于 2012-08-11T18:23:39.810 回答