Pregunta

¿Hay una instrucción CIL para intercambiar los dos primeros elementos en la pila?

¿Fue útil?

Solución

No hay un intercambio de instrucciones único. Sin embargo, usando stloc , pop , y ldloc , debería poder realizar su intercambio.

Otros consejos

No. La única forma de intercambiar elementos es hacer estallar los dos elementos superiores a locales, luego empujarlos en orden inverso.

Mirando una lista de instrucciones CIL no parece haber una sola instrucción que intercambia los dos elementos en la parte superior de la pila. Tendrás que hacerlo a la antigua manera pop / push.

Para referencia futura, puede crear un ensamblaje que haga lo que desea para aprender el IL y luego ver el ensamblaje en Reflector. Puede seleccionar el idioma en el que desea que esté el código e IL es una de las opciones. Hice esto cuando traté de descubrir cómo codificar un método dinámico ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top