2
respostas

Agencia conta e saldo apresenta o erro de não poder converter o string em int mesmo já explicito que é int. O que fazer?

  ContaCorrente contaDaGabriela = new ContaCorrente();

            contaDaGabriela.titular = "Gabriela";
            contaDaGabriela.agencia = "hjfgjhfhfhrt";
            contaDaGabriela.conta = "87654";
            contaDaGabriela.saldo = "5000";

            Console.WriteLine(contaDaGabriela.titular);

            Console.ReadLine();
public class ContaCorrente
{ 

public string titular;
public int agencia;
public int conta;
public double saldo;

}
2 respostas

Tente passar um valor numérico , o erro ocorre porque você passou letras no valor

contaDaGabriela.agencia = "hjfgjhfhfhrt";

Ex:

contaDaGabriela.agencia = "123456789";

Olá, Lucas. Tudo bom?

Para o compilador, tudo o que está entre aspas é interpretado como string. Então, a expressão "10" é do tipo string independente de seu conteúdo!

A atribuição em conta e agencia só pode ser feita com expressões de inteiros como o 10 (sem aspas):

contaDaGabriela.agencia = 486;
contaDaGabriela.conta = 87654;

Note que o saldo parece diferente, afinal, é do tipo double mas você pode usar a mesma sintaxe do int:

contaDaGabriela.saldo = 5000;

No lugar de ser obrigado a colocar o ponto da casa decimal dos pontos flutuantes:

contaDaGabriela.saldo = 5000.0;

Isso acontece porque variáveis do tipo double admitem valores do tipo int. No fim, o inteiro 5000 será convertido para um double debaixo dos panos (mas, essa conversão implícita não vale para strings).

O que você acha? Ajudei com sua dúvida?

Abs e bons estudos.