1
resposta

Essa foi a solução na qual pensei para o que foi pedido:

public class Program{
    public static void Main(){
        List<string> nomesDosEscolhidos = new List<string>(){
        "Bruce Wayne",
        "Carlos Vilagran",
        "Richard Grayson",
        "Bob Kane",
        "Will Farrel",
        "Lois Lane",
        "General Welling",
        "Perla Letícia",
        "Uxas",
        "Diana Prince",
        "Elisabeth Romanova",
        "Anakin Wayne"
        };

        //bool achouNaLista = EstaNaLista(nomesDosEscolhidos,"Clark Kent"); não achou
        bool achouNaLista = EstaNaLista(nomesDosEscolhidos,"Diana Prince");//achou

        if(achouNaLista)
            Console.WriteLine("O personagem foi encontrado na lista!");
        else
            Console.WriteLine("Personagem não faz parte da lista!");

        Console.ReadLine();
    }

    public static bool EstaNaLista(List<string> personagensDC, string procurado){
        if(personagensDC==null || personagensDC.Count==0)
            return false;
        else{

            for (int i = 0; i < personagensDC.Count; i++)
            {
                if(personagensDC[i].Equals(procurado)){
                    return true;
                }
            }

            return false;
        }
    }
}
1 resposta

Olá Leonardo, tudo bem com você?

Muito legal a sua solução! Obrigado por compartilhar com a gente aqui no fórum, adoramos saber o que você está estudando! Trabalhar com listas é um trabalho do dia a dia de qualquer pessoa que desenvolve e é muito importante dominar esse assunto, para isso, praticar é imprescindível!

Como sugestão, dentro da função EstaNaLista(), como a verificação se a lista é nula ou vazia já tem o retorno falso, nós podemos omitir o bloco else, e remover um nível de identação do código:

public static bool EstaNaLista(List<string> personagensDC, string procurado){
        if(personagensDC==null || personagensDC.Count==0)
            return false;


        for (int i = 0; i < personagensDC.Count; i++)
        {
            if(personagensDC[i].Equals(procurado)){
                return true;
            }
        }

        return false;

    }

Assim, o código fica mais legível, com menos blocos identados. Esse padrão de escrita é conhecido como Fail Fast, e você pode conhecer ele mais a fundo neste Alura+, é uma prática muito interessante de se adotar no dia a dia do seu desenvolvimento!

Fico à disposição!

Um grande abraço e bons estudos!