1
resposta

[Sugestão] Solução manual eficiente

Program.cs Musica.ExibirTodosGenerosMusicaisUnicos(musicas);

Musica.cs

public static void ExibirTodosGenerosMusicaisUnicos(List<Musica> musicas)
{
    // Para armazenar gêneros musicais únicos
    HashSet<string> generosUnicos = new HashSet<string>();

    // Percorrer todas as musicas
    foreach (Musica musica in musicas)
    {
        // Dividir a string de gêneros em um array usando a vírgula como separador
        string[] generos = musica.Genero!.Split(',');

        // Percorrer generos para remover espaços em branco ao redor de cada gênero e adicionar ao HashSet
        foreach (string genero in generos)
        {
            // O método Trim() em C# remove caracteres específicos de uma string. Por padrão, ele remove caracteres de espaço em branco
            // E caracteres de controle Unicode do início e do final da string. 
            string generoSemEspaços = genero.Trim();

            if (!(generoSemEspaços == "set()")) // Tratando spring do python
            {
                // Cada gênero é adicionado ao HashSet após remover espaços em branco ao redor.
                generosUnicos.Add(generoSemEspaços);
            }
        }
    }

    // Exibição
    Console.WriteLine("Todos os generos musicais: \n");
    foreach (var genero in generosUnicos)
    {
        Console.WriteLine(genero);
        Console.WriteLine();
    }
}

Note que essa solução tem os gêneros únicos, diferente da aula que mostra os gêneros misturados,

1 resposta

Oii, Guilherme! Tudo bem?

Muito boa a sua sugestão, obrigada por compartilhá-la no fórum! Isso é ótimo, pois outras pessoas que estão estudando o mesmo conteúdo por ver e aprender mais, podem incrementar o código delas também.

Continue se dedicando aos estudos e qualquer dúvida que surgir, conte conosco.

Bons estudos, Guilherme!