.assembly '2darray' { } .assembly extern 'mscorlib' { .ver 1:0:5000:0 .publickeytoken = ( b7 7a 5c 56 19 34 e0 89 ) } .class public 'test' extends [mscorlib]System.Object { .field static private int32[0...,0...] 'x' .method hidebysig public static void 'Main'() { .entrypoint .locals init ([0]int32 't0') ldc.i4 0 stloc 0 // i br $4 $1: .locals init ([1]int32 't1') ldc.i4 0 stloc 1 // j br $8 $5: ldsfld int32[0...,0...] 'test'::'x' ldloc 0 // i ldloc 1 // j ldloc 0 // i ldloc 1 // j add call instance void int32[0...,0...]::Set(int32,int32,int32) $6: ldloc 1 // j ldc.i4.1 add .locals init ([2]int32 't2') stloc 2 // t2 ldloc 2 // t2 stloc 1 // j $8: ldloc 1 // j ldc.i4 4 blt $5 $7: $2: ldloc 0 // i ldc.i4.1 add .locals init ([3]int32 't3') stloc 3 // t3 ldloc 3 // t3 stloc 0 // i $4: ldloc 0 // i ldc.i4 2 blt $1 $3: ldsfld int32[0...,0...] 'test'::'x' call void 'test'::'print'(class [mscorlib]System.Collections.IEnumerable) ret .maxstack 5 } // end of method test.Main .method hidebysig static private void 'print'(class [mscorlib]System.Collections.IEnumerable 'x') { .locals init ([0]int32 't0') .locals init ([1]class [mscorlib]System.Collections.IEnumerator 't1') ldarg 0 // x callvirt instance class [mscorlib]System.Collections.IEnumerator [mscorlib]System.Collections.IEnumerable::'GetEnumerator'() stloc 1 // t1 .try { br $2 $1: ldloc 1 // t1 callvirt instance object [mscorlib]System.Collections.IEnumerator::'get_Current'() unbox int32 ldind.i4 stloc 0 // i ldloc 0 // i call void [mscorlib]System.Console::'WriteLine'(int32) $2: ldloc 1 // t1 callvirt instance bool [mscorlib]System.Collections.IEnumerator::'MoveNext'() brtrue $1 $3: leave $5 } finally { ldloc 1 // t1 .locals init ([2]class [mscorlib]System.IDisposable 't2') isinst class [mscorlib]System.IDisposable stloc 2 // t2 ldloc 2 // t2 brfalse $6 ldloc 2 // t2 callvirt instance void [mscorlib]System.IDisposable::'Dispose'() $6: endfinally } // end .try $5: $4: ret .maxstack 1 } // end of method test.print .method hidebysig specialname rtspecialname public void .ctor() { ldarg.0 call instance void [mscorlib]System.Object::.ctor() ret .maxstack 1 } // end of constructor test.test .method hidebysig specialname rtspecialname static private void .cctor() { ldc.i4 2 ldc.i4 4 newobj instance void int32[0...,0...]::.ctor(int32,int32) stsfld int32[0...,0...] 'test'::'x' ret .maxstack 3 } // end of constructor test.test } // end of class test