C# · Avançado · Inglês · Técnico
intermediate language
Linguagem de baixo nível, independente de CPU, para a qual o compilador C# traduz o código; o JIT do CLR a converte em código de máquina na execução.
Onde usar
Aparece ao inspecionar um assembly com ILSpy ou ildasm para entender o que o compilador gerou em async, lambdas e records. Ajuda a discutir otimizações com fatos em vez de palpites.
Em código
static class Calc {
public static int Soma(int a, int b)
=> a + b;
}
// IL (Release): ldarg.0, ldarg.1, add, retExemplos
Let me check the IL to see if the compiler inlined that.
Deixa eu olhar o IL para ver se o compilador fez inline disso.
C# compiles to IL, and the JIT turns it into machine code.
O C# compila para IL, e o JIT transforma isso em código de máquina.
Cuidado
Não é bytecode da JVM nem código nativo: o IL é específico do CLR e só roda depois de compilado pelo JIT ou por AOT.
Sinônimos
IL, CIL, MSIL