Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Resposta - Autenticação de usuário

Console.WriteLine(@"-----------------------
Sistema de Autenticação
-----------------------");

List<string> adminsCadastrados = new List<string> { "Willian", "Arthur Dent" };
List<string> usuariosCadastrados = new List<string>();

Console.Write("\nDigite seu nome de usuário: ");
string nomeUsuario = Console.ReadLine();

string statusUsuario = nomeUsuario switch
{
    _ when adminsCadastrados.Contains(nomeUsuario) => "\nADMIN LOGADO",
    _ when usuariosCadastrados.Contains(nomeUsuario) => "\nUSUÁRIO LOGADO",
    _ => "\nUsuário não cadastrado."
};

Console.WriteLine(statusUsuario);

if (statusUsuario != "\nUsuário não cadastrado.")
{
    Console.WriteLine($"\nBem-vindo, {nomeUsuario}!");
}
else
{
    menuNaoCadastrado();
}

void menuNaoCadastrado()
{
    string mensagemErro = "\nErro, por favor digite uma opção de 1 a 3.";
    while (true)
    {
        Console.WriteLine(@"
Opções disponíveis:
[1] Cadastrar novo usuário
[2] Acessar como convidado
[3] Sair");
        Console.WriteLine();
        if (int.TryParse(Console.ReadLine(), out int opcao))
        {
            switch (opcao)
            {
                case 1:
                    usuariosCadastrados.Add(nomeUsuario);
                    Console.WriteLine($"\nNovo usuário {nomeUsuario} cadastrado com sucesso!");
                    return;
                case 2:
                    Console.WriteLine("\nAcesso concedido como convidado.");
                    return;
                case 3:
                    Console.WriteLine("\nAté mais!");
                    return;
                default:
                    Console.WriteLine(mensagemErro);
                    break;
            }
        } else
        {
            Console.WriteLine(mensagemErro);
        }
    }

}
1 resposta
solução!

Oi, Willian! Como vai?

Gostei muito da forma como você utilizou o switch com when para autenticar o usuário. Isso deixa o código enxuto e com leitura clara, além de mostrar domínio da estrutura. A separação do menu em um método também foi uma boa decisão para manter a organização.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!