C# सरळ मशीन कोडमध्ये कंपाइल होत नाही. हे IL (Intermediate Language) — एक प्लॅटफॉर्म-स्वतंत्र bytecode — मध्ये कंपाइल होते, जे CLR चालवतो, JIT (Just-In-Time) कंपाइलेशन वापरून IL ला रनटाइमवर नेटिव मशीन कोडमध्ये अनुवादित करते. AOT (Ahead-Of-Time) एक पर्यायी आहे जो बिल्ड टाइमवर नेटिव कोडमध्ये कंपाइल करतो.
एक्सिक्यूशन पाइपलाइन
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
