2
respostas

usando "string" no lugar de "bool"

public class ContaCorrente { public string titular; public int agencia; public int numero; public double saldo;

public string Sacar(double valor)
{
    if(this.saldo < valor)
    {
        return "Saldo insuficiente;
    }
    else
    {
        this.saldo -= valor;
        return "Saque liberado.";
    }
}

}

------> queria saber se poderia realizar dessa forma a operação da aula anterior, com o retorno de uma string no lugar de uma função booleanea.

2 respostas

Você pode sim, mas não pode errar a escrita na hora de checar o retorno se não o programa não vai funcionar do jeito que você espera, lembrando que você terá que considerar letras maiúsculas, acentuação, pontuação e etc.. por tanto não é recomendado para desenvolvimento com vários programadores envolvidos, deixe os strings para guardar mensagens mesmo.

Ex.:

Se você retorna a mensagem (return "Saque liberado.";) como no seu exemplo lembre-se desse ponto final na checagem do retorno e também nesse "S" maiúsculo no Saque se não ele não vai verificar direito o retorno.

string resultado = new Sacar(100);

if (resultado == "Saque liberado") - Errado (Ele não vai achar essa condição). if (resultado == "saque liberado") - Errado (Ele não vai achar essa condição). if (resultado == "Saque liberado.") - Esse aqui é o correto.

Pegou porque não é recomendado?

Isso tudo se você for fazer algo mais depois de mandar a mensagem para o console, e geralmente vai, falando em programação para valer mesmo.

Espero ter ajudado.

Isso pode ser problemático quando você tiver que efetuar alguma validação, por exemplo if (resultado == "Saque liberado."){} Quando a gente trabalha com string, tem algumas coisas que podem ser problematicas como a codificação dos caracteres, dependendo da aplicação o tipo de Codificação digitada pelo usuario pode ser diferente da esperada pelo seu código e a validação ser negativa mesmo quando era pra ser positiva. O boolean é mais efetivo nesse caso, pois só pode ser true ou false.