ldloc还是ldloca?

Wil*_*ill 5 .net c#

什么时候编译器选择ldloc或ldloca?我的猜测是它为接口和valuetypes选择了ldloca.但是这样吗?它是否也选择其他东西?

SLa*_*aks 7

ldloca将变量的地址加载到堆栈上.

它用于传递变量refout参数.

  • @swax:或者更一般地说,值类型的任何方法. (4认同)
  • ldloca`int x = 5的另一个例子; string s = x.ToString();`针对x的**地址**调用ToString. (3认同)