rendered paste bodyThe C#:
public static void Main (string[] args)
{
int i = 3;
switch (i)
{
case 2:
Console.WriteLine("2");
break;
case 4:
Console.WriteLine("4");
break;
case 5:
Console.WriteLine("5");
break;
case 3:
Console.WriteLine("3");
break;
}
}
The IL:
// method line 2
.method public static hidebysig
default void Main (string[] args) cil managed
{
// Method begins at RVA 0x20f4
.entrypoint
// Code size 94 (0x5e)
.maxstack 5
.locals init (
int32 V_0,
int32 V_1)
IL_0000: ldc.i4.3
IL_0001: stloc.0
IL_0002: ldloc.0
IL_0003: stloc.1
IL_0004: ldloc.1
IL_0005: ldc.i4.2
IL_0006: sub
IL_0007: switch (
IL_0021,
IL_004e,
IL_0030,
IL_003f)
IL_001c: br IL_005d
IL_0021: ldstr "2"
IL_0026: call void class [mscorlib]System.Console::WriteLine(string)
IL_002b: br IL_005d
IL_0030: ldstr "4"
IL_0035: call void class [mscorlib]System.Console::WriteLine(string)
IL_003a: br IL_005d
IL_003f: ldstr "5"
IL_0044: call void class [mscorlib]System.Console::WriteLine(string)
IL_0049: br IL_005d
IL_004e: ldstr "3"
IL_0053: call void class [mscorlib]System.Console::WriteLine(string)
IL_0058: br IL_005d
IL_005d: ret
} // end of method Switcher::default void Main (string[] args)