.NET Γενικό σύνολο;

ψήφοι
10

Είναι ένα γενικό δοχείο για την εφαρμογή της «set» η συμπεριφορά στο .NET εκεί;

Ξέρω ότι θα μπορούσε απλά να χρησιμοποιήσετε ένα Dictionary<T, Object>(και πιθανώς να προσθέσετε nullsως τιμές), διότι τα κλειδιά της να ενεργεί ως ένα σύνολο, αλλά ήμουν περίεργος αν υπάρχει κάτι έτοιμο.

Δημοσιεύθηκε 09/12/2008 στις 20:21
πηγή χρήστη
Σε άλλες γλώσσες...                            


3 απαντήσεις

ψήφοι
19

HashSet<T> σε .NET 3.5

Απαντήθηκε 09/12/2008 στις 20:27
πηγή χρήστη

ψήφοι
3

Χρησιμοποιώ τα Iesi.Collections. ονομάτων που έρχεται με NHibernate (docs εδώ ) - ίσως αξίζει να εξεταστεί εάν είστε σε .NET <3.5

Απαντήθηκε 09/12/2008 στις 20:31
πηγή χρήστη

ψήφοι
1

Δημιουργήθηκαν το .NET 3.5: HashSet<T>(βλέπε παρακάτω).

Δημιουργήθηκαν το .NET 4.0: ISet<T>:

Παρέχει τη διεπαφή βάση για την άντληση συνόλων. Αυτή η διεπαφή παρέχει μεθόδους για την εφαρμογή σύνολα, τα οποία είναι συλλογές που έχουν μοναδικά στοιχεία και τις συγκεκριμένες δράσεις.

Η διεπαφή έχει δύο εφαρμογές σε .NET 4+ BCL:

  • HashSet<T>:

    ... παρέχει σύνολο λειτουργιών υψηλής απόδοσης. Ένα σύνολο είναι μια συλλογή που δεν περιέχει διπλότυπα στοιχεία, και των οποίων τα στοιχεία δεν είναι σε καμία ιδιαίτερη διαταγή

  • SortedSet<T>:

    Αντιπροσωπεύει μια συλλογή αντικειμένων που διατηρείται σε ταξινομημένη σειρά. Μια SortedSet (Τ) διατηρεί μια ταξινομημένη σειρά καθώς τα στοιχεία εισάγονται και διαγράφονται χωρίς να επηρεάζεται η απόδοση. Διπλότυπο στοιχεία δεν επιτρέπονται.

FWIW: Υπάρχει επίσης ένα κάτω από το χώρο ονομάτων . Μοναδικός σκοπός του φαίνεται να είναι η χρήση κατά την εφαρμογή της .internal class TreeSet<T>: SortedSet<T>System.Collections.Generic
SortedDictionary<TKey, TValue>

Απαντήθηκε 02/10/2013 στις 17:06
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more