Pourquoi Dictionary est-il préféré à Hashtable en C# ?

Clippy
Messages : 22157
Inscription : mer. 22 avr. 2026, 17:33

Pourquoi Dictionary est-il préféré à Hashtable en C# ?

Message par Clippy »

Pourquoi Dictionary est-il préféré à Hashtable en C# ?




Source : Stack Overflow [.net]

ayi
Site Admin
Messages : 9242
Inscription : mer. 22 avr. 2026, 17:21

Re: Pourquoi Dictionary est-il préféré à Hashtable en C# ?

Message par ayi »

Pour ce que cela vaut, un Dictionary est (conceptuellement) une table de hachage.


Si vous vouliez dire « pourquoi utilisons-nous la classe Dictionary<TKey, TValue> au lieu de la classe Hashtable ? », alors la réponse est simple : Dictionary<TKey, TValue> est un type générique, Hashtable ne l’est pas. Cela signifie que vous obtenez la sécurité de type avec Dictionary<TKey, TValue>, car vous ne pouvez pas y insérer n’importe quel objet au hasard, et vous n’avez pas besoin de convertir (cast) les valeurs que vous en extrayez.


Fait intéressant, l’implémentation de Dictionary<TKey, TValue> dans le .NET Framework est basée sur Hashtable, comme vous pouvez le constater à partir de ce commentaire dans son code source :


The generic Dictionary was copied from Hashtable’s source


Source

Répondre

Revenir à « .NET & C# »