C# ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਮਸ਼ੀਨ ਕੋਡ ਵਿੱਚ ਕੰਪਾਈਲ ਨਹੀਂ ਹੁੰਦਾ। ਇਹ IL (Intermediate Language) — ਇੱਕ ਪਲੇਟਫਾਰਮ-ਸੁਤੰਤਰ bytecode — ਵਿੱਚ ਕੰਪਾਈਲ ਹੁੰਦਾ ਹੈ, ਜਿਸਨੂੰ CLR ਚਲਾਉਂਦਾ ਹੈ, JIT (Just-In-Time) ਕੰਪਾਈਲੇਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ IL ਨੂੰ runtime ਵਿੱਚ ਨੇਟਿਵ ਮਸ਼ੀਨ ਕੋਡ ਵਿੱਚ ਅਨੁਵਾਦ ਕਰਨ ਲਈ। AOT (Ahead-Of-Time) ਇੱਕ ਵਿਕਲਪ ਹੈ ਜੋ build time ਵਿੱਚ ਨੇਟਿਵ ਕੋਡ ਵਿੱਚ ਕੰਪਾਈਲ ਕਰਦਾ ਹੈ।
The 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
