ldloc var против ldloc.n

Кто-нибудь знает, если есть даже небольшая разница, используя ldloc var CIL инструкция и ldloc.n?

Учитывая эту локальную таблицу переменных в области видимости метода:

.locals init ([0] int32 a,
              [1] int32 b)

Эти инструкции:

ldloc.0
ldloc.1

лучше, хуже или равно чем:

ldloc a
ldloc b

1 ответ

Решение

Существует множество сокращенных форм общих кодов операций с простой целью - сократить продолжительность метода. ldloc.n инструкции занимают один байт, ldloc.s n два байта и ldloc n три байта. Это полезно для встраивания, поскольку методы длиной более 16 байтов не подходят для этого.

Другие вопросы по тегам