C# doğrudan makine koduna derlenmez. IL (Ara Dil) — platformdan bağımsız bytecode — olarak derlenir ve CLR bunu çalıştırır, IL'i çalışma zamanında yerel makine koduna çevirmek için JIT (Just-In-Time) derlemesini kullanır. AOT (Ahead-Of-Time), derleme zamanında yerel koda derleyen bir alternatiftir.
Yürütme ardışık düzeni
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
