11

是否有 CIL 指令来交换堆栈中的前两个元素?

4

4 回答 4

11

没有单一的指令交换。但是,使用stlocpopldloc,您应该能够完成您的交换。

于 2008-10-10T15:49:26.117 回答
2

不可以。交换元素的唯一方法是将前两个元素弹出到本地,然后以相反的顺序推送它们。

于 2008-10-10T21:28:53.187 回答
1

查看CIL 指令列表,似乎没有一条指令可以交换堆栈顶部的两个元素。您必须使用旧的弹出/推送方式。

于 2008-10-10T15:50:07.770 回答
0

为了将来参考,您可以创建一个程序集来执行您想要学习 IL 的任务,然后在 Reflector 中查看该程序集。您可以选择您希望代码使用的语言,IL 是选项之一。我在试图弄清楚如何编写动态方法时这样做了......

于 2008-10-10T16:50:08.383 回答