tava observando que na class sacar tem public void Sacar(double valor){ Teoricamente só deveria ir valores tipo numero porem a esse método passa impressão que por trás ele é string por aceitar - ou outro tipo de operadores pq isso acontece ? }
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!
tava observando que na class sacar tem public void Sacar(double valor){ Teoricamente só deveria ir valores tipo numero porem a esse método passa impressão que por trás ele é string por aceitar - ou outro tipo de operadores pq isso acontece ? }
Olá Daniel, tudo bem?
Na verdade o método Sacar aceita somente valores numéricos, principalmente por estar se referindo a dinheiro.
Acredito que você tenha tido essa impressão, por conta da mensagem no momento da exceção, certo? Se for por isso, pense que, se não pudéssemos inserir uma mensagem, seria complicado o usuário saber o motivo da operação não ter dado certo. Então em uma validação dentro do método, podemos inserir uma string.
Inclusive, podemos passar mensagens com o Console.WriteLine, para informar exatamente o que está se passando. Veja:
public void Sacar(double valor)
{
if (_saldo < valor)
{
Console.WriteLine("Valor maior ao disponível em conta. Verifique seu saldo.");
}
_saldo -= valor;
}Se ficou com alguma dúvida, fique tranquilo para perguntar novamente.
Abraços!
então ao chamar o método podemos colocar o sinal de menos ou qualquer um exemplo ( Saquevalor( -10 ); e se não validamos ele aceita... a duvida é pq ele aceita esses sinais pois passa impressão que por trás ele é uma string aceitando coisas além do numérico obgd :)
Na verdade o (-10) é um tipo numérico negativo, e na linguagem ele será um int, que por sua vez cabe dentro de um double.
Então o sinal de menos é aceito, porque números inteiros também podem ser negativos. Ex: (-1) (-2) (-3) (-4) ....
Neste capítulo abaixo é explicado um pouco mais sobre os tipos numéricos
https://cursos.alura.com.br/course/csharp-parte-1-primeiros-passos/task/37971
obgd !