Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Validando Escopo no C#

Na validação do escopo quando eu for atribuir um valor para variável mensagemAdicional posso fazer esta atribuição logo na declaração da variável e deixar condição com apenas com o novo valor?

Minha sugestão:


namespace _9_Escopo
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Executando projeto 9 - Escopo");

            int idadeJoao = 18;
            bool acompanhado = true;

            string mensagemAdicional = "João não está acompanhado";

            if (acompanhado == true)
            {
                mensagemAdicional = "João está acompanhado!";
            }

            if (idadeJoao >= 18 || acompanhado == true)
            {
                Console.WriteLine("Pode entrar.");
                Console.WriteLine(mensagemAdicional);
            }
            else
            {
                Console.WriteLine("Não pode entrar");
            }
            Console.ReadLine();
        }
    }
}

Como demonstrado na aula:

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Executando projeto 9 - Escopo");

        int idadeJoao = 18;
        bool acompanhado = false;

        string mensagemAdicional;

        if (acompanhado == true)
        {
            mensagemAdicional = "João está acompanhado!";
        }
        else 
        {
            mensagemAdicional = "João não está acompanhado";
        }

        if (IdadeJoao >= 18 && acompanhado == true)
        {
            Console.WriteLine("Pode entrar.")
            Console.WriteLine(mensagemAdicional);
        }
        else 
        {
            Console.WriteLine("Não pode entrar");
        }
        Console.ReadLine();
    }
//...
2 respostas

Lilian, uma opinião pessoal, eu acho muito bacana encontrar formas de diminuir linhas de código.

Ambos os jeitos estão corretos e funcionam, mas visualmente, faz mais sentido que tudo esteja dentro da mesma estrutura condicional.

Se esse código ficasse um pouco maior, e exigisse mais pessoas trabalhando nele, talvez pudesse passar despercebido que já tinha um valor inicial.

Mas isso não é um erro, é mais uma opinião minha.

solução!

Olá Lilian, Tudo bem?

Você pode sim. Pelo que vi, o resultado acaba sendo o mesmo. Você també poderia optar em usar uma versão mais simplificada, segue:

   class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Executando projeto 9 - Escopo");

            int idadeJoao = 18;
            bool acompanhado = true;

            string mensagemAdicional;

            if (idadeJoao >= 18 || acompanhado == true)
            {
                mensagemAdicional = "João está acompanhado!";

                Console.WriteLine("Pode entrar.");
                Console.WriteLine(mensagemAdicional);
            }
            else
            {
                Console.WriteLine("Não pode entrar");
            }
            Console.ReadLine();
        }
    }

Paranbéns. Bons estudos!

Fico à disposição.