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

stelem - store element to array

CIL フォーマット

A4 (T) / stelem (typeTok)
9C / stelem.i1
9D / stelem.i2
9E / stelem.i4
9F / stelem.i8
A0 / stelem.r4
A1 / stelem.r8
9B / stelem.i
A2 / stelem.ref

スタック

..., array, index, value → ...

詳細

0 ベース 1 次元の配列 array の index 番目の値を value で置き換えます。 index は native int もしくは int32 です。 ldelem (typeTok) では value の型は typeTok で示される型です。 ldelem.<type> では value の型は命令で示される型です。

stelem.ref は暗黙的に value を array の要素の型にキャストします。 このキャストは検証済みのコードであっても失敗する可能性があります。 キャストに失敗した場合、stelem.ref は ArrayTypeMismatchException をスローします。

0 ベースでない 1 次元配列や 0 ベースの多次元配列には、 配列クラスの StoreElement メソッドを使用します。

Exception

array が null の場合、 NullReferenceException が発生します。

index が負もしくは array の境界よりも大きい場合、 IndexOutOfRangeException が発生します。

array が要求された型を保持していない場合、 ArrayTypeMismatchException が発生します。

Menu

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