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,