1
resposta

Essa foi minha solução , está correto ?

Dentro da Classe Musica criei o metodo :

public static void MusicasComTonalidadeC(List musicas, string tonalidade) { var musicaTonalidade = musicas.Where(musica => musica.Tonalidade == tonalidade).Select(musica => musica.Artista).Distinct().OrderBy(musica => musica).ToList(); Console.WriteLine($"Lista de músicas com tonalidade {tonalidade}"); foreach(var artista in musicaTonalidade) { Console.WriteLine($"Artista -> {artista}"); } }

Aparentemente de certo, algo que poderia fazer melhor ?

obg.
1 resposta

Olá, Fabio!

Pelo que vejo, você fez um excelente trabalho! Seu método MusicasComTonalidadeC está correto e faz exatamente o que se propõe: filtra as músicas pela tonalidade e exibe os artistas de maneira distinta e ordenada.

No entanto, se você quiser seguir exatamente a abordagem proposta na aula, poderia fazer algumas pequenas alterações. No exemplo dado pelo instrutor, ele sugere a criação de um método FiltrarMusicasEmCSharp que filtra as músicas pela tonalidade "C#" e exibe os nomes das músicas, não os artistas.

Aqui está um exemplo de como você poderia adaptar seu método para se alinhar mais com o exemplo da aula:

public static void FiltrarMusicasEmCSharp(List<Musica> musicas)
{
    var musicasEmCSharp = musicas
        .Where(musica => musica.Tonalidade.Equals("C#"))
        .Select(musica => musica.Nome)
        .ToList();
    Console.WriteLine("Músicas em C#:");
    foreach (var musica in musicasEmCSharp)
    {
        Console.WriteLine($"- {musica}");
    }
}

Mas lembre-se, sua solução não está errada! Você apenas abordou o problema de uma maneira um pouco diferente, o que é totalmente aceitável na programação.

Espero ter ajudado e bons estudos!