What is an IL?

IL stands for Intermediate Language. It is also known as MSIL (Microsoft Intermediate Language) or CIL (Common Intermediate Language).

All .NET source codes are first compiled to IL. Then, IL is converted to machine code at the point where the software is installed, or at run-time by a Just-In-Time (JIT) compiler.

In the context of .NET, IL stands for Intermediate Language. It’s also known as Microsoft Intermediate Language (MSIL) or Common Intermediate Language (CIL).

Here’s an answer suitable for a .NET interview:

Intermediate Language (IL) is a platform-independent, low-level programming language used by the .NET Framework. When you compile a .NET programming language such as C# or VB.NET, the compiler doesn’t directly generate machine code for a specific CPU architecture. Instead, it generates IL code, which is then executed by the Common Language Runtime (CLR) within the .NET Framework environment. IL is similar to bytecode in other languages and platforms. It allows .NET applications to be executed in a runtime environment where Just-In-Time (JIT) compilation occurs, translating the IL code into native machine code specific to the CPU architecture of the executing system. This approach enables .NET applications to be portable across different platforms and architectures while still benefiting from performance optimizations provided by the CLR.