2010-01-07 4 views
1

Doublons possibles:
Why doesn’t .Net have a Set data structure?
C# Set collection?Pourquoi l'ensemble est-il resté hors des collections .NET?

Juste curieux de savoir pourquoi ensembles ont été exclus des collections .NET. Cela semble être une grosse omission, et je me demandais quelle pouvait en être la raison.

BTW Je sais qu'il y a HashSet dans .NET 3.5, mais il a fallu beaucoup de temps à Microsoft pour le mettre en place!

+1

Discussion des ensembles ici http://stackoverflow.com/questions/183685/c-set-collection –

+0

Ce genre de 'Pourquoi' questions est généralement inutile. Il manque d'autres ADT, c'est une question de demande et de ressources (attendues). –

+1

Dup - http://stackoverflow.com/questions/1433695/why-doesnt-net-have-a-set-data-structure – thecoop

Répondre

5

Je ne sais pas le « pourquoi » - et je soupçonne que personne ne sera - mais je pensais que je l'avais mentionné que dans .NET 4.0, il y aura enfin un type d'interface ISet<T> - mis en œuvre par HashSet<T> et SortedSet<T>.

+0

Ce que j'ai trouvé intéressant, c'est que l'équipe LINQ a décidé d'implémenter sa propre collection Set, plutôt que d'utiliser 'HashSet'. Voir la méthode d'extension 'Distinct'. – Thorarin

+0

@Thorarin: En effet. Je suppose que c'est juste une implémentation plus légère - il y a plusieurs choses qu'il n'a pas besoin de mettre en œuvre, car il suffit de s'inquiéter d'un cas d'utilisation. –