C# nu se compilează direct în cod mașină. Se compilează în IL (Intermediate Language) — un bytecode independent de platformă — pe care îl rulează CLR, folosind compilarea JIT (Just-In-Time) pentru a traduce IL în cod mașină nativ în timp de execuție. AOT (Ahead-Of-Time) este o alternativă care compilează în cod nativ în timpul construirii.
Pipelineul de execuție
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
