A C# nem közvetlenül gépi kódra fordul. Az IL-re (Intermediate Language — platformfüggetlen bytecode) fordul, amelyet a CLR futtat, és a JIT (Just-In-Time) fordítás segítségével az IL-t futásidőben natív gépi kóddá fordítja. Az AOT (Ahead-Of-Time) egy alternatív megközelítés, amely fordítási időben natív kóddá fordít.
A végrehajtási 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
