Garder trucs dans des classes C # de collecte
De nombreuses variables sont pour stocker une chose, comme un numéro ou une phrase. Un objet peut avoir un grand nombre de propriétés, stocker beaucoup d'informations sur un seul concept. Parfois, cependant, vous avez juste à garder la trace d'une grande liste de choses. Voilà où les classes de collection viennent.
Les classes de collection en C # sont impressionnants car ils peuvent vous aider à garder une liste d'éléments, ou un groupe de clés et de valeurs, et de faciliter la recherche, la surveillance d'examens, et les outils d'entretien général gratuitement. Cela est beaucoup plus facile que d'écrire les deux «clients de tri par nom de famille 'centième procédé ce mois-ci.
C # a des classes de base de collecte, les classes de collection génériques, et les classes de collection simultanées. Ces derniers sont pour le fil des opérations sécuritaires dans un environnement multiprocesseur. Toutes ces classes de collection sont utiles si vous savez où et quand les utiliser.
Collections régulières
Collections magasin ordinaire des choses non typé pour vous. Si vous ne savez pas exactement ce que vous allez stocker, collectes régulières sont pour vous. Presque tout dans ces classes sont stockées sous forme d'objet.
Classe | Description |
---|---|
ArrayList | Ceci est juste une collection d'objets dont simple sizeis initialement déclarée, et que la taille est augmentée en fonction des besoins (égards mais non diminué). |
HashTable | Juste un tableau à deux colonnes de clés et de valeurs, où les paires arelinked pour trier une récupération. |
Queue | Un premier entré, dernier sorti (FIFO) liste des articles. Idéal pour les processus de storingprogram choses. |
Stack | Comme une file d'attente, mais Last In First Out (LIFO). |
Collections génériques
C # 2.0 collections génériques introduits. Collections génériques vous permettent de stocker des collections typées d'articles, comme l'a déclaré lors de l'exécution.
Classe | Description |
---|---|
Dictionnaire | Juste un HastTable, sauf tapé, alors vous ne devez pas AutoStore Object, Object. TKey et TValue sont des types, de sorte que vous pouvez stocker des alist si tu veux. |
Liste | Ceci est le nouveau tableau. Il est une liste dactylographiée des articles. Byfar, classe de collection les plus couramment utilisés. Il est le default.If vous avez besoin d'une liste de personnes, il ya une liste |
Queue | Semblable à la file d'attente non typé, mais, bien, tapé! |
SortedList | Ce Dictionnaire génial implémente IComparable sorte qu'il Canbe triée. |
Stack | Tout comme la pile non typé, sauf dactylographiées. |
Classes de collection simultanées
Enfin, les classes simultanées assurez-vous que les objets que vous stockez dans la liste sont disponibles dans tout l'espace de la mémoire, peu importe ce processeur. Il est une opération plus vaste que vous le pensez.
Classe | Description |
---|---|
BlockingCollection | Il est une classe thread-safe qui permettra d'éviter un threadfrom modifier un champ qui est accessible par un autre truc thread.Brilliant, vraiment. |
ConcurrentDictionary | Parlant de brillant, cet ensemble de paires clé / valeur peut beaccessed par plusieurs threads. |
ConcurrentQueue | Rappelez-vous que la pile FIFO? Ouais. Celui-ci est générique et threads. |
ConcurrentStack | Les collections orchestrées sont utiles. They'rebeneficial pour la mémoire, pour une chose. Quoi qu'il en soit, celui-ci est LIFO andthread-fort, trop. |