CIL フォーマット
A3 (T) / ldelem (typeTok)
90 / ldelem.i1
92 / ldelem.i2
94 / ldelem.i4
96 / ldelem.i8
91 / ldelem.u1
93 / ldelem.u2
95 / ldelem.u4
96 / ldelem.u8
98 / ldelem.r4
99 / ldelem.r8
97 / ldelem.i
9A / ldelem.ref
スタック
..., array, index → ..., value
詳細
0 ベース 1 次元の配列 array から、 index 番目の要素の値をロードしてスタックの先頭に積みます。 index は native int もしくは int32 です。 ldelem (typeTok) では value の型は typeTok で示される型になります。 ldelem.<type> では value の型は命令で示される型になります。
0 ベースでない 1 次元配列や 0 ベースの多次元配列には、 配列クラスの Get メソッドを使用します。
4 バイトより小さい整数値は int32 に拡張されてスタックにロードされます。 浮動小数点数はネイティブ・サイズ(F)に拡張されます。
Exception
index が負もしくは array の境界よりも大きい場合、 IndexOutOfRangeException が発生します。
array が null の場合、 NullReferenceException が発生します。