55 votes

Structure de données C# comme un dictionnaire mais sans valeur

Existe-t-il une structure de données en C# qui ressemble à un dictionnaire mais qui ne possède qu'une clé et pas de valeur ? Je veux essentiellement une liste d'entiers que je peux consulter rapidement et voir si une certaine valeur est dans la liste. Il est vrai que pour mon utilisation actuelle, une liste ne poserait aucun problème de performance, mais elle ne semble pas correspondre à l'intention de mon code.

86voto

Meta-Knight Points 10831

Oui, ça s'appelle un HashSet<T> et disponible dans la version 3.5 du cadre .NET. Si vous utilisez la version 2.0 de .NET, vous pouvez utiliser un dictionnaire et définir des valeurs pour les éléments suivants null .

4voto

Paul Sasik Points 37766

Si 3.5 n'est pas une option, vous pourriez faire quelque chose comme Dictionary < int, int > et simplement ignorer la valeur. J'ai fait cela dans 2.0 et j'ai tendance à définir la valeur de la même manière que la clé.

2voto

Eric J. Points 73338

Si vous ne visez pas .NET 3.5, Collections de puissance (open source) fournit également une implémentation de Set.

0voto

Gregoire Points 11270

Ou utiliser une SortedList où les valeurs doivent être uniques.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X