using System; using System.Text; namespace foo { class Program { static void Main(string[] args) { int i = 0; switch(i) { case 1: Console.WriteLine("One"); break; } switch(i) { case 1: Console.WriteLine("One"); break; case 2: Console.WriteLine("Two"); break; case 3: Console.WriteLine("Three"); break; case 4: Console.WriteLine("Four"); break; } } } } .method private hidebysig static void Main(string[] args) cil managed { .entrypoint // Code size 105 (0x69) .maxstack 2 .locals init (int32 V_0, int32 V_1) IL_0000: nop IL_0001: ldc.i4.0 IL_0002: stloc.0 IL_0003: ldloc.0 IL_0004: stloc.1 IL_0005: ldloc.1 IL_0006: ldc.i4.1 IL_0007: beq.s IL_000b IL_0009: br.s IL_0018 IL_000b: ldstr "One" IL_0010: call void [mscorlib]System.Console::WriteLine(string) IL_0015: nop IL_0016: br.s IL_0018 IL_0018: ldloc.0 IL_0019: stloc.1 IL_001a: ldloc.1 IL_001b: ldc.i4.1 IL_001c: sub IL_001d: switch ( IL_0034, IL_0041, IL_004e, IL_005b) IL_0032: br.s IL_0068 IL_0034: ldstr "One" IL_0039: call void [mscorlib]System.Console::WriteLine(string) IL_003e: nop IL_003f: br.s IL_0068 IL_0041: ldstr "Two" IL_0046: call void [mscorlib]System.Console::WriteLine(string) IL_004b: nop IL_004c: br.s IL_0068 IL_004e: ldstr "Three" IL_0053: call void [mscorlib]System.Console::WriteLine(string) IL_0058: nop IL_0059: br.s IL_0068 IL_005b: ldstr "Four" IL_0060: call void [mscorlib]System.Console::WriteLine(string) IL_0065: nop IL_0066: br.s IL_0068 IL_0068: ret } // end of method Program::Main