C # 5.0 tout-en-un pour les nuls

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.

Sommaire

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.

ClasseDescription
ArrayListCeci 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é).
HashTableJuste un tableau à deux colonnes de clés et de valeurs, où les paires arelinked pour trier une récupération.
QueueUn premier entré, dernier sorti (FIFO) liste des articles. Idéal pour les processus de storingprogram choses.
StackComme 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.

ClasseDescription
DictionnaireJuste 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.
ListeCeci 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.
QueueSemblable à la file d'attente non typé, mais, bien, tapé!
SortedListCe Dictionnaire génial implémente IComparable sorte qu'il Canbe triée.
StackTout 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.

ClasseDescription
BlockingCollectionIl est une classe thread-safe qui permettra d'éviter un threadfrom modifier un champ qui est accessible par un autre truc thread.Brilliant, vraiment.
ConcurrentDictionaryParlant de brillant, cet ensemble de paires clé / valeur peut beaccessed par plusieurs threads.
ConcurrentQueueRappelez-vous que la pile FIFO? Ouais. Celui-ci est générique et threads.
ConcurrentStackLes 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.

Configuration C #

Tout un espace de noms de classes est conçu pour configurer les applications écrites en tout langage .NET, comme C #, VB.NET, ou l'une quelconque de plusieurs autres. Les objets à l'intérieur, il ya, pour dire le moins, un peu difficile à naviguer. La configuration dans les applications .NET prend place dans un fichier .config. Ce fichier au format XML a une noeud, et toute une série de nœuds de projets spécifiques au sein. Obtenir une référence à la configuration nécessite un appel à OpenExeConfiguration.

System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration () -

Une fois cela fait, en obtenant une référence à une section est assez simple. La GetSection méthode prend simplement une chaîne qui est le nom du noeud, et parce que le fichier de configuration est juste le texte, vous pouvez saisir à tout moment.

var sectionName = "Quoi que!" - System.Configuration.AppSettingsSection section = (System.Configuration.AppSettingsSection) config.GetSection (sectionName) -

Vous pouvez ajouter des sections dans le fichier de configuration en utilisant les outils de manipulation de XML dans le cadre. Vous pouvez utiliser un groupe prédéfini sur des sections de la fonctionnalité correspondante.

Section Description
CommencezDécrit la version de .NET à utiliser.
RuntimeÉnumère les éléments de .NET de se lier à l'exécutable.
RéseauDécrit procuration et d'autres paramètres réseau.
CryptographieUn endroit pour garder les valeurs accessibles mentionne les ressources cryptographiques
ConfigurationLa section la plus utilisée. Il est où vous gardez sections personnalisées du fichier de configuration.
Trace / DebugDeux paramètres qui vous permettent de mettre en place le suivi et l'exploitation forestière.
Paramètres d'application (appsettings)Demande scope choses comme les chaînes de connexion de base de données.
Paramètres Web (websettings)ASP.NET détails spécifiques.

Programmation asynchrone

Beaucoup de Windows 8 est d'être rapide et fluide. La façon de le faire est d'utiliser des méthodes asynchrones dans les rappels de fonctionnalité à long courir. Le problème avec ceci est que en C #, la meilleure façon de mettre en œuvre une méthode asynchrone est avec filetage. Mais vous ne pouvez pas toujours compter sur lorsque les éléments d'une opération de filetage reviendront. Il doit y avoir un certain contrôle si vous voulez que les utilisateurs puissent se sentir comme il ya un certain contrôle.

Entrer unsynchroniser et unattendez. unsynchroniser permet de déclarer une fonction asynchrone, ce qui renvoie une Tâche. Tous asynchrone méthodes doivent contenir au moins une expression attendent. attendre raconte C # de prendre code visé et l'exécuter dans un thread séparé que le thread utilisateur. Le tableau décompose les nouvelles pièces asynchrones de la langue.

DéclarationDescription
asynchroneUn modificateur qui indique au compilateur que la fonction itmodifies est asynchrone.
attendreUn opérateur qui suspend l'exécution de la containingmethod que la tâche attendue complète.
TâcheReprésente une opération asynchrone.
TâcheUne opération asynchrone qui renvoie une valeur.
Task.ContinueWithUne continuation qui est démarré après l'opération dans le Taskis terminée.

» » » » C # 5.0 tout-en-un pour les nuls