Table des matières:
Vidéo: NORMAN - COMMENT GAGNER 10000€ PAR SECONDE 2024
Par Bill Sempf, Chuck Sphar, Stephen R. Davis
S'il y a un problème avec le. NET Framework du point de vue de C # Programmer, c'est juste qu'il y a trop de bonnes choses. Beaucoup de classes ont tellement de propriétés et d'événements qu'il est difficile de se souvenir des choses les plus utilisées. Voici la crème de la crème dans les classes Collection, Connfiguration, et Async, toutes réunies pour une référence facile.
Conserver des objets dans les classes de collection C #
De nombreuses variables permettent de stocker une chose, comme un nombre ou une phrase. Un objet peut avoir beaucoup de propriétés, stockant beaucoup d'informations sur un seul concept. Parfois, cependant, il suffit de suivre une grande liste de choses. C'est là qu'interviennent les classes de collection.
Les classes de collection en C # sont géniales car elles peuvent vous aider à garder une liste d'éléments, ou un groupe de clés et de valeurs, et fournir gratuitement des outils de recherche, de surveillance et de maintenance générale. C'est beaucoup plus facile que d'écrire la méthode du deux centième «trier les clients par nom de famille» ce mois-ci.
C # contient des classes de collection de base, des classes de collection génériques et des classes de collection simultanées. Ces derniers sont pour des opérations thread-safe dans un environnement multiprocesseur. Toutes ces classes de collection sont utiles si vous savez où et quand les utiliser.
Collections régulières
Les collections régulières stockent des éléments non typés pour vous. Si vous ne savez pas exactement ce que vous allez stocker, les collections régulières sont pour vous. La plupart des éléments de ces classes sont stockés en tant qu'objet.
Classe | Description |
---|---|
ArrayList | Ceci est juste une collection simple d'objets dont la taille
est initialement déclarée, et cette taille est augmentée si nécessaire (mais pas diminué). |
HashTable | Juste un tableau de clés et de valeurs à deux colonnes, où les paires sont
liées pour trier une récupération. |
File d'attente | Liste d'éléments premier entré, dernier sorti (FIFO). Idéal pour stocker
des éléments de processus de programme. |
Pile | Comme une file d'attente, mais dernier entré (LIFO). |
Collections génériques
C # 2. 0 collections génériques introduites. Les collections génériques vous permettent de stocker des collections d'éléments typées, telles que déclarées lors de l'exécution.
Classe | Description |
---|---|
Dictionnaire | Juste un HastTable, sauf typé, vous n'avez donc pas besoin de
stocker Object, Object. TKey et TValue sont des types, donc vous pouvez stocker une liste de si vous voulez. |
Liste | Ceci est le nouveau tableau. C'est une liste d 'articles tapés. Par
loin, la classe de collection la plus commune utilisée. C'est le défaut. Si vous avez besoin d'une liste de personnes, c'est une liste. |
File d'attente | Semblable à la file d'attente non typée, mais, bien, tapé! |
SortedList | Ce dictionnaire génial implémente IComparable pour pouvoir le
trier. |
Pile | Tout comme la pile non typée, sauf saisie. |
Classes de collection simultanées
Enfin, les classes simultanées s'assurent que les objets que vous stockez dans une liste sont disponibles dans n'importe quel espace mémoire, quel que soit le processeur. C'est une affaire plus importante que vous ne le pensez.
Classe | Description |
---|---|
BlockingCollection | C'est une classe thread-safe qui empêchera un thread
de modifier un champ accessible par un autre thread. Des trucs géniaux, vraiment. |
ConcurrentDictionary |
En parlant de génial, cet ensemble de paires clé / valeur peut être
accédé par plusieurs threads. |
ConcurrentQueue | Rappelez-vous que la pile FIFO? Ouais. Celui-ci est générique ET thread
sûr. |
ConcurrentStack | Les collections orchestrées sont utiles. Ils sont
bénéfiques pour la mémoire, d'une part. Quoi qu'il en soit, celui-ci est LIFO et sûr aussi. |
Configuration de C #
Un espace de noms entier de classes est conçu pour configurer des applications écrites dans n'importe quel espace. Langage NET, tel que C #, VB. NET, ou l'un de plusieurs autres. Les objets à l'intérieur sont, pour le moins, un peu difficiles à naviguer. La configuration dans les applications.NET se déroule dans un. fichier de configuration. Ce fichier au format XML contient un nœud et une série complète de nœuds spécifiques au projet. Obtenir une référence à la configuration nécessite un appel à OpenExeConfiguration.
Système. Configuration. Configuration config = ConfigurationManager. OpenExeConfiguration ();
Une fois cela fait, obtenir une référence à une section est assez simple. La méthode GetSection prend juste une chaîne qui est le nom du noeud, et parce que le fichier de configuration est juste du texte, vous pouvez le saisir n'importe quand.
var sectionName = & ldquo; Peu importe! & rdquo;; Système. Configuration. AppSettingsSection section = (Configuration du système.AppSettingsSection) config. GetSection (sectionName);
Vous pouvez ajouter des sections au fichier de configuration à l'aide des outils de manipulation XML du framework. Vous pouvez utiliser un groupe prédéfini sur des sections pour la fonctionnalité correspondante.
Section | Description |
---|---|
Démarrage | Décrit le. Version NET à utiliser. |
Runtime | Liste les. Éléments NET à lier à l'exécutable. |
Réseau | Décrit le proxy et les autres paramètres réseau. |
Cryptographie | Un lieu pour garder les valeurs accessibles en référence aux ressources crypto |
Configuration | La section la plus utilisée. C'est là que vous gardez les sections personnalisées du fichier de configuration. |
Trace / Debug | Deux paramètres qui vous permettent de configurer le traçage et la journalisation. |
Paramètres de l'application (appsettings) | L'application portait sur des choses comme les chaînes de connexion à une base de données. |
Paramètres Web (paramètres Web) | ASP. Détails spécifiques NET. |
Programmation asynchrone
Une grande partie de Windows 8 consiste à être rapide et fluide. La façon de procéder consiste à utiliser des méthodes asynchrones dans les rappels de fonctionnalités longues.Le problème avec ceci est qu'en C #, la meilleure façon d'implémenter une méthode asynchrone est avec le threading. Mais vous ne pouvez pas toujours compter sur quand les éléments d'une opération de thread reviendront. Il doit y avoir un certain contrôle si vous voulez que les utilisateurs puissent sentir qu'il y a un certain contrôle.
Entrez async et attendez. async est utilisé pour déclarer une fonction asynchrone, qui renvoie une tâche. Toutes les méthodes asynchrones doivent contenir au moins une expression d'attente. await dit à C # de prendre le code référencé et de l'exécuter dans un thread distinct du thread utilisateur. La table décompose les nouvelles parties asynchrones du langage.
Statement | Description |
---|---|
async | Un modificateur qui montre au compilateur que la fonction qu'il
modifie est asynchrone. |
await | Un opérateur qui suspend l'exécution de la méthode contenant
jusqu'à la fin de la tâche attendue. |
Tâche | Représente une opération asynchrone. |
Tâche | Opération asynchrone qui renvoie une valeur. |
Tâche. ContinueWith | Une continuation commencée après l'opération dans la tâche
est terminée. |