Novidades do .NET 9: o tipo genérico OrderedDictionary<TKey, TValue>
A classe OrderedDictionary permite armazenar chaves e valores mantendo uma ordem dentro de uma coleção, estando presente desde as primeiras versões (2.0 em diante) da plataforma .NET. Entretanto, este tipo contava até o .NET 8.0 com uma grande limitação: não era possível o seu uso empregando Generics.
Com o .NET 9 esta lacuna foi preenchida, já que temos agora a possibilidade de utilizar a implementação genérica OrderedDictionary<TKey, TValue>. Com isso podemos nos beneficiar da capacidade de ordenação oferecida originalmente por OrderedDictionary, tirando ainda proveito de uma tipagem mais forte decorrente do uso de Generics.
A listagem seguinte traz um exemplo de utilização de OrderedDictionary<TKey, TValue>:
- A ordenação dos itens será respeitada, levando em conta inclusive as posições de cada par chave-valor indicadas na inicialização do objeto (linhas 10 a 17);
- O uso de métodos como Add, Insert, RemoveAt e Insert (linhas 18 a 21) também preserva tal organização, com algumas dessas funcionalidades permitindo inclusive especificar um índice ao realizar uma alteração (caso de Insert, RemoveAt e Insert, ao passo que Add incluirá um novo par chave-valor ao final da coleção).
O resultado da execução dessa aplicação de testes pode ser observado na imagem a seguir:
Esse projeto foi disponibilizado no GitHub:
https://github.com/renatogroffe/DotNet9-ConsoleApp-OrderedDictionary
Caso achem útil esta 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!