ILGenerator: How to add boolean to the stack

倾然丶 夕夏残阳落幕 提交于 2019-12-30 08:20:08

问题


Here is the way I can put float value to the stack(in C#):

ILGenerator gen = method.GetILGenerator();
gen.Emit(OpCodes.Ldc_R4, (float)12.5);

How can I put boolean value to the stack by using Emit method?


回答1:


There is no representation of a boolean value on the evaluation stack. The bool, char, byte, ushort, uint, and their signed variants are all represented as a 4-byte signed integer (i4).

True:

ldc.i4.1

False:

ldc.i4.0


来源:https://stackoverflow.com/questions/1387010/ilgenerator-how-to-add-boolean-to-the-stack

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!