Команда обмена файлами CIL

Существует ли инструкция CIL для обмена первыми двумя элементами в стеке?

Ответ 1

Обмен инструкциями отсутствует. Однако, используя stloc, pop и ldloc, вы сможете выполнить обмен.

Ответ 2

Нет. Единственный способ обмениваться элементами состоит в том, чтобы поместить верхние два элемента в локальные, а затем направить их в обратном порядке.

Ответ 3

Глядя на список инструкций CIL, похоже, не существует одной инструкции, которая обменивает два элемента в верхней части стек. Вам придется сделать это по-старому/push.

Ответ 4

В дальнейшем для справки вы можете создать сборку, которая делает то, что вы хотите узнать для IL, а затем просмотреть сборку в Reflector. Вы можете выбрать язык, в котором должен находиться код, а IL - один из параметров. Я сделал это, пытаясь понять, как закодировать динамический метод...