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

Performance

Existe diferença de performance no LINQ se eu primeiro filtrar pra depois ordenar ex:

musicas.Select().Distinct().OrderBy()
1 resposta
solução!

Olá, Ipojuca!

A ordem das operações no LINQ pode, sim, afetar a performance. No caso do seu exemplo, musicas.Select().Distinct().OrderBy(), a filtragem está sendo feita antes da ordenação, o que é uma boa prática. Isso porque, ao filtrar primeiro, você diminui a quantidade de dados que precisam ser ordenados, o que pode melhorar a performance.

No entanto, é importante notar que a diferença de performance pode não ser perceptível se o conjunto de dados for pequeno. A diferença se torna mais evidente quando estamos lidando com conjuntos de dados muito grandes.

Aqui está um exemplo prático para ilustrar isso:

// Filtrando antes de ordenar
var musicasFiltradasOrdenadas = musicas
    .Where(musica => musica.Genero == "Rock")
    .OrderBy(musica => musica.Artista)
    .ToList();

// Ordenando antes de filtrar
var musicasOrdenadasFiltradas = musicas
    .OrderBy(musica => musica.Artista)
    .Where(musica => musica.Genero == "Rock")
    .ToList();

No primeiro exemplo, o programa filtra as músicas que são do gênero Rock e, em seguida, ordena o resultado. No segundo exemplo, o programa ordena todas as músicas por artista e, em seguida, filtra as músicas que são do gênero Rock.

Se o conjunto de dados for grande e apenas uma pequena parte das músicas for do gênero Rock, o primeiro exemplo será mais eficiente porque ordenará menos dados.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software