Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Porque que o compilador mostra um erro quando declaramos uma variavel sem valor e usamos dentro do Console.WriteLine()?

int idade;

Console.WriteLine(idade);

Porque o erro? Se quando uso a mesma abordagem dentro de uma classe nao mostra nenhum erro?

1 resposta
solução!

Olá Abel!

O compilador gera o erro CS0165 quando tentamos fazer o uso de uma variável sem atribuir valores. Uma variável normal não recebe valor algum quando não é inicializada.

Quando instanciamos um objeto, esse objeto é guardado na memória e o compilador já faz atribuições automáticas dos valores padrões para os campos, antes mesmo da chamada do construtor, impedindo assim que o mesmo erro ocorra.

Por fim, uma variável comum sem valor algum não serve pra nada e precisa de algum valor para executar algo, mas um objeto pode ser instanciado sem a atribuição de valores, pois o compilador já atribui valores padrões para não causar erros deste tipo.

Espero ter ajudado!