有人知道使用ldloc var
CIL指令和ldloc.n
是否存在微小差异?
考虑方法范围中的本地var表:
.locals init ([0] int32 a,
[1] int32 b)
是那些说明:
ldloc.0
ldloc.1
更好,更好或等于:
ldloc a
ldloc b
答案 0 :(得分:2)
有许多缩小形式的常见操作码,目的很简单 - 缩短方法的长度。 ldloc.n
条指令占用一个字节,ldloc.s n
两个字节,ldloc n
三个字节。这对于内联很有用,因为超过16个字节的方法不适合它。