1
resposta

Resposta: mais uma classe

Classe:

internal class Musica
{
    [JsonPropertyName("song")]
    public string? Nome {  get; set; }

    [JsonPropertyName("year")]
    public string? Ano { get; set; }

    public void Exibir()
    {

        Console.WriteLine($"Ano {Ano}.");
    }

}

Classe 2:

internal class LinqFilter
{
    public static void FiltrarMusicaPorAno(List<Musica> musicas, string ano)
    {
        var musicasPorAno= musicas.Where(musica => musica.Ano!.Equals(ano)).Select(musica => musica.Nome).ToList();

        Console.WriteLine($"Exibindo musicas do ano de: {ano}");

        foreach (var nome in musicasPorAno)
        {
            Console.WriteLine($"- {nome}");
        }
    }
1 resposta

Oi, Philip! Como vai?

Agradeço por compartilhar.

Gostei da forma como você separou as responsabilidades entre as classes, deixando a Musica focada nos dados e o LinqFilter cuidando da filtragem, o que é importante para manter o código organizado e mais fácil de evoluir. Isso mostra um bom entendimento do uso do LINQ dentro do contexto da atividade.

Continue explorando esse tipo de separação de responsabilidades, pois isso ajuda bastante em projetos maiores.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!