É composto de dois ou mais comandos entre chaves ({…}). Onde isolamos a utilização das variáveis, vejamos um exemplo abaixo.

int x = 19;
{
    int y = 27;
    x = x + 4;
    Console.WriteLine("Valor de X no bloco: " + x);
    Console.WriteLine("Valor de Y no bloco: " + y);  
}

Console.WriteLine("Valor de X fora do bloco: " + x);  
// Console.WriteLine("Valor de Y fora do bloco: " + y);

/*
Saída:
Valor de X no bloco: 23
Valor de Y no bloco: 27

Valor de X fora do bloco: 19
*/

Caso a linha 10 não estivesse comentada, um erro seria lançado, porque a variável y não existe fora do bloco