Sei que o desafio era filtrar músicas que tem apenas a tonalidade C#. porém, fiz um pouco diferente. Pode selecionar a tonalidade no Program.cs e listar as músicas pela tonalidade que quiser.
public static void FiltrarMusicaPorTonalidade(List<Musica> musicas, string tonalidade)
{
var musicasDaTonalidade = musicas.Where(musica => musica.Tonalidade == tonalidade)
.OrderBy(musicas => musicas.Nome).Select(musicas => musicas.Nome).Distinct().ToList();
Console.WriteLine($"Musicas de tonalidade {tonalidade}");
foreach(var musica in musicasDaTonalidade)
{
Console.WriteLine($"- {musica}");
}
}
}
try
{
string resposta = await client.GetStringAsync("https://guilhermeonrails.github.io/api-csharp-songs/songs.json");
var musicas = JsonSerializer.Deserialize<List<Musica>>(resposta)!;
LinqFilter.FiltrarMusicaPorTonalidade(musicas, "C#");
}
catch (Exception ex)
{
Console.WriteLine($"Temos um problema: {ex.Message}");
}
}