int idade;
Console.WriteLine(idade);
Porque o erro? Se quando uso a mesma abordagem dentro de uma classe nao mostra nenhum erro?
int idade;
Console.WriteLine(idade);
Porque o erro? Se quando uso a mesma abordagem dentro de uma classe nao mostra nenhum erro?
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!