Novidades do .NET 7: melhorias na ordenação com LINQ - Order e OrderDescending

Renato Groffe
2 min readAug 14, 2022

--

Neste novo artigo dou continuidade à série que cobre novidades do .NET 7, desta vez abordando melhorias disponibilizadas com o Preview 7 (lançado há alguns dias) e voltadas a ordenações de elementos com LINQ.

O uso dos métodos OrderBy e OrderByDescending com LINQ pressupõe que sempre selecionemos alguma parte do tipo que estamos manipulando em uma coleção, como uma propriedade que armazene algum dado.

Isto pode resultar em implementações como a indicada na listagem a seguir. Mesmo com os arrays tecnologias, copasFutebol e precos sendo baseados em tipos mais simplificados como string, int e double, precisamos ainda assim utilizar uma expressão lambda para a ordenação dos mesmos (linhas 23 a 26):

Com os métodos Order e OrderDescending temos agora a opção de uma codificação mais simplificada e sem o uso de expressões lambda, conforme podemos observar na próxima listagem:

Este código produzirá o seguinte resultado:

Uma alternativa para utilizar essa nova capacidade em tipos com uma estrutura mais complexa está na implementação da interface IComparable<T>.

Esse exemplo também foi disponibilizado como um repositório no GitHub:

.NET 7 Preview 7 + Console App + Testes com Order e OrderDescending (LINQ)

Caso achem útil a solução, peço por favor um ⭐️ no repositório apoiando. Fica também o convite para que vocês me sigam lá no GitHub!

E finalizo este artigo com um convite…

Nesta segunda 15/08 às 21:00 horário de Brasília — teremos mais um evento online e gratuito no canal Canal .NET.

Esta nova live trará dicas, truques e alternativas úteis para o desenvolvimento Back-End e de APIs REST com .NET 6, C#, ASP.NET Core e Azure Functions. Ao longo da apresentação será coberto o uso de diferentes frameworks, serviços na nuvem, mensageria e boas práticas de forma a facilitar e tornar mais dinâmica a implementação de soluções baseadas na plataforma .NET no seu dia a dia.

Teremos também algumas novidades do Visual Studio 2022, .NET 7 e do C# 11 demonstradas na prática!

Para participar faça sua inscrição no link a seguir, a transmissão acontecerá via YouTube:

https://bit.ly/live-backend-dotnet-ago-2022

--

--

Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker