Se eu tento colocar só a variável fatorial dentro do MessageBox, ele reclama que a variável é do tipo int, mas se está concatenando, não. Ele converte o tipo automaticamente?
MessageBox.Show(fatorial);
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Se eu tento colocar só a variável fatorial dentro do MessageBox, ele reclama que a variável é do tipo int, mas se está concatenando, não. Ele converte o tipo automaticamente?
MessageBox.Show(fatorial);
Se você concatena, o resultado final é uma String sim.
É necesário a conversão de uma variável não string usando o "suaVariavel.ToString()", pois não ha uma conversão clara no codigo; MessageBox.Show( string + int ); nesse caso o sistema sabe que vc quer entregar essa variável int como uma string, porém se utilizar apenas o MessageBox.Show(int); o sistema não tem uma noção clara do que você pretende fazer, por esse motivo é necessário informar a sua intenção MessageBox.Show(int.ToString()); Foi isso que entendi das explicações que achei no google hehe.