C# सीधे machine code में compile नहीं होता। यह IL (Intermediate Language) में compile होता है — एक platform-independent bytecode — जिसे CLR चलाता है, IL को runtime पर native machine code में अनुवाद करने के लिए JIT (Just-In-Time) compilation का उपयोग करते हुए। AOT (Ahead-Of-Time) एक विकल्प है जो build time पर native code में compile करता है।
execution pipeline
C# source (.cs)
│ C# compiler (roslyn)
▼
IL bytecode (in a .dll/.exe assembly) ← platform-INDEPENDENT intermediate code
│ CLR loads it; JIT compiles IL → native code AT RUNTIME (per method, as called)
▼
Native machine code → executes on the CPU
