Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Resolvendo o desafio #2

Minha resolução ficou um pouco diferente, podendo filtrar de qualquer tipo e não só o C#

LinqFilter.cs

public static void FiltrarMusicasPorTonalidade(List<Musica> musicas, string tonalidade) {
    var musicasPorTonalidade = musicas
        .Where(musica => musica.Tonalidade.Equals(tonalidade))
        .Select(musica => musica.Nome)
        .Distinct()
        .ToList();

    Console.WriteLine($"MÚSICAS DE TONALIDADE {tonalidade}");
    foreach (var musica in musicasPorTonalidade)
    {
        Console.WriteLine($"- {musica}");
    }
}

Program.cs

LinqFilter.FiltrarMusicasPorTonalidade(musicas, "C#");

Musica.cs

[JsonPropertyName("key")]
public int Key { get; set; }

public string Tonalidade { 
    get
    {
        return tonalidades[Key];
    } 
}
1 resposta
solução!

Olá Giovanna, tudo bem?

A forma que você generalizou o filtro para funcionar com qualquer tonalidade, e não apenas C#, traz flexibilidade ao código e permite reutilizá-lo em diferentes cenários. O uso de Distinct() também é uma excelente prática para evitar duplicações na lista resultante.

Parabéns pelo excelente trabalho!

Abraços e bons estudos!