Considere o trecho de código abaixo, escrito para o Microsof...
Int32 numero;
numero = Convert.ToInt16(!(21 > 21));
O valor fnal da variável “numero” será:
Em c# temos, TRUE=1 e FALSE=0.
Sobre a questão o convert.toInt16 está somente para complicar nossa visão, deixando ele de lado...
O número 21 é mairo que o número 21 ? (21 > 21) FALSE=0, MAS CUIDADO temos um sinal de exclamação na frente, que inverte os valores booleanos
!(21 >21) => !(0) => 1
Ou seja, gabarito alternativa C
O método ToInt16, ao receber um booleano, faz a conversão dele para o inteiro de 16 bits equivalente.
É passado para o método 21 > 21 , que é Falso , negando o falso ( sinal ! ) , temos verdadeiro, que é representado pelo inteiro 1.
Portanto a alternativa correta é a letra C.
Fonte :https://docs.microsoft.com/pt-br/dotnet/api/system.convert.toint16?view=netframework-4.8