Процес компіляції коду C# включає кілька етапів, включаючи попередню обробку, компіляцію, зв’язування, завантаження та виконання. Це перевіряє вихідний код на наявність помилок і створює виконувану програму.
Код C# компілюється в IL під час створення проекту. IL зберігається у файлі на диску. Коли ви запускаєте програму, IL компілюється знову за допомогою компілятора Just In Time (JIT) (цей процес часто називають JIT'ing). Результатом є машинний код, який виконується процесором машини.
Компіляція є процес перетворення вихідного коду в об'єктний код. Це здійснюється за допомогою компілятора. Компілятор перевіряє вихідний код на наявність синтаксичних або структурних помилок і, якщо в ньому немає помилок, створює об’єктний код.
C# компілятор перевіряє синтаксис і аналізує вихідний код. Проміжні мови Microsoft (MSIL) генеруються в результаті (EXE або DLL) CLR ініціалізується всередині процесу та запускає метод точки входу (Main)
Час компіляції — це період, коли код програмування (наприклад, C#, Java, C, Python) перетворюється на машинний код (тобто двійковий код). Час виконання — це період часу, коли програма виконується і зазвичай відбувається після компіляції.
Як було сказано, C# компілюється в IL (забезпечує двійкову переносимість), а потім під час виконання IL компілюється в машинний код. Оскільки під час виконання він стає машинною мовою, він зазвичай такий же ефективний, як C++.