.assembly extern mscorlib {} .assembly application {} .namespace MyNamespace { .class ArrayExample { .method static public void Main() il managed { .locals init (string [] names, int32 count) .entrypoint ldc.i4.3 newarr string stloc names ldloc names ldc.i4.0 ldstr "Oak" stelem.ref ldloc names ldc.i4.1 ldstr "Birch" stelem.ref ldloc names ldc.i4.2 ldstr "Pine" stelem.ref ldc.i4.0 stloc count loop: ldloc names ldloc count ldelem.ref call void [mscorlib] System.Console::WriteLine(string) ldloc count ldc.i4.1 add dup stloc count ldc.i4.3 blt loop ret } } } .assembly extern mscorlib {} .assembly application {} .namespace MyNamespace { .class ExceptionClauseExample { .method static public void Main() il managed { .entrypoint start: ldc.i8 4000000000 conv.ovf.i4 pop leave done stop: callvirt instance string [mscorlib] System.Exception::get_Message() call void [mscorlib] System.Console::WriteLine(string) leave done done: ret .try start to stop catch [mscorlib] System.Exception handler stop to done } } } .assembly extern mscorlib {} .assembly application {} .namespace MyNamespace { .class ScopedExceptionExample { .method static public void Main() il managed { .entrypoint .try { ldc.i8 4000000000 conv.ovf.i4 pop leave done } catch [mscorlib] System.Exception { callvirt instance string [mscorlib] System.Exception::get_Message() call void [mscorlib] System.Console::WriteLine(string) leave done } done: ret } } }