[あすかぜ・ねっと]あすかぜ・ねっとその他CIL Opcode > ldelem

ldelem - load element from array

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 が発生します。

Menu

Copyright (C) 2004-2009 asukaze, Some Rights Reserved.
Last Update: 2009/06/07
mail (at) asukaze.net