Maison développement back-end Tutoriel C#.Net Comment utiliser les collections et les génériques pour améliorer l'efficacité du code dans le développement C#

Comment utiliser les collections et les génériques pour améliorer l'efficacité du code dans le développement C#

Oct 09, 2023 pm 09:37 PM
泛型 集合 效率

Comment utiliser les collections et les génériques pour améliorer lefficacité du code dans le développement C#

Comment utiliser les collections et les génériques pour améliorer l'efficacité du code dans le développement C#

Dans le développement C#, les collections et les génériques sont des outils importants pour améliorer l'efficacité du code. Les collections fournissent un ensemble commun de structures de données et d'algorithmes, tandis que les génériques nous permettent de manipuler les données de manière plus générale et plus sûre lors de l'écriture de code. Cet article explique comment utiliser les collections et les génériques pour améliorer l'efficacité du code et donne des exemples de code spécifiques pour référence aux lecteurs.

1. Collection Framework

En C#, le framework de collection fournit de nombreuses classes qui implémentent diverses structures de données, telles que List, Dictionary, Set, etc. Nous pouvons choisir la classe de collecte appropriée pour stocker et exploiter les données en fonction des besoins réels.

  1. Liste (Liste)

Une liste est une collection ordonnée d'éléments qui nous permet d'insérer, de supprimer ou d'accéder à des éléments à n'importe quelle position. Par rapport aux tableaux, la longueur d’une liste peut être ajustée dynamiquement et est plus flexible. Voici un exemple de code utilisant une liste :

List<string> fruits = new List<string>();
fruits.Add("apple");
fruits.Add("banana");
fruits.Add("orange");

foreach (string fruit in fruits)
{
    Console.WriteLine(fruit);
}
Copier après la connexion
  1. Dictionary (Dictionary)

Un dictionnaire est une collection de paires clé-valeur, et nous pouvons accéder rapidement à la valeur correspondante via la clé. Contrairement aux listes, les dictionnaires ne sont pas ordonnés mais offrent des performances élevées lors de la recherche et de l'insertion. Voici un exemple de code utilisant un dictionnaire :

Dictionary<int, string> students = new Dictionary<int, string>();
students.Add(1, "Tom");
students.Add(2, "Jerry");
students.Add(3, "Alice");

foreach (KeyValuePair<int, string> student in students)
{
    Console.WriteLine("ID: " + student.Key + ", Name: " + student.Value);
}
Copier après la connexion
  1. Set

Un ensemble est une collection non ordonnée sans éléments en double. Nous pouvons utiliser des ensembles pour déterminer rapidement si des éléments existent et prendre en charge des opérations entre des ensembles, telles que l'intersection, l'union, la différence, etc. Voici un exemple de code utilisant une collection :

HashSet<string> colors1 = new HashSet<string> { "red", "green", "blue" };
HashSet<string> colors2 = new HashSet<string> { "blue", "yellow", "black" };

// 交集
HashSet<string> intersection = new HashSet<string>(colors1);
intersection.IntersectWith(colors2);

foreach (string color in intersection)
{
    Console.WriteLine(color);
}
Copier après la connexion

2. Génériques

Les génériques sont un autre outil important en C#. Ils nous permettent d'utiliser un type commun pour manipuler les données lors de l'écriture du code, améliorant ainsi les performances et la lisibilité du code. Voici quelques exemples courants de génériques :

  1. Méthodes génériques

Une méthode générique peut spécifier ses types de paramètres au moment de l'appel, par exemple :

public T Max<T>(T a, T b) where T : IComparable<T>
{
    if (a.CompareTo(b) > 0)
    {
        return a;
    }
    
    return b;
}

int maxInteger = Max<int>(10, 20);
string maxString = Max<string>("abc", "xyz");
Copier après la connexion
  1. Classes génériques

Une classe générique est un type qui est défini lorsque Lorsqu'une classe ne spécifie pas de type spécifique, les paramètres de type sont spécifiés uniquement lors de son instanciation. Par exemple :

public class Stack<T>
{
    private List<T> items;

    public Stack()
    {
        items = new List<T>();
    }

    public void Push(T item)
    {
        items.Add(item);
    }

    public T Pop()
    {
        T item = items[items.Count - 1];
        items.RemoveAt(items.Count - 1);
        return item;
    }
}

Stack<int> stack = new Stack<int>();
stack.Push(10);
stack.Push(20);
int top = stack.Pop();
Copier après la connexion

En utilisant des génériques, nous n'avons pas besoin d'implémenter à plusieurs reprises des fonctions similaires lors de l'écriture du code, ce qui améliore la réutilisabilité et la lisibilité du code.

Conclusion

En utilisant des collections et des génériques, nous pouvons considérablement améliorer l'efficacité et la lisibilité du code C#. Les collections permettent la mise en œuvre d'une variété de structures de données et d'algorithmes, nous permettant de stocker et de manipuler les données plus facilement. Les génériques nous permettent de manipuler les données d'une manière plus générale et plus sûre lors de l'écriture de code. J'espère que les exemples de code contenus dans cet article pourront inspirer les lecteurs et les aider à écrire du code C# plus efficace.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les fonctions génériques résolvent-elles le problème des types de paramètres variadiques dans Golang ? Les fonctions génériques résolvent-elles le problème des types de paramètres variadiques dans Golang ? Apr 16, 2024 pm 06:12 PM

Les fonctions génériques dans Go résolvent le problème des types variadiques : les fonctions génériques permettent de spécifier les paramètres de type au moment de l'exécution. Cela permet d'écrire des fonctions capables de gérer des arguments de différents types. Par exemple, la fonction Max est une fonction générique qui accepte deux paramètres comparables et renvoie la plus grande valeur. En utilisant des fonctions génériques, nous pouvons écrire du code plus flexible et général capable de gérer différents types de paramètres.

Scénarios d'application spécifiques des génériques dans Golang Scénarios d'application spécifiques des génériques dans Golang May 04, 2024 am 11:45 AM

Scénarios d'application des génériques dans Go : Opérations de collecte : Créez des opérations de collecte adaptées à tout type, comme le filtrage. Structures de données : écrivez des structures de données à usage général telles que des files d'attente, des piles et des cartes pour stocker et manipuler divers types de données. Algorithmes : écrivez des algorithmes à usage général tels que le tri, la recherche et la réduction qui peuvent gérer différents types de données.

Quelles sont les limites supérieure et inférieure des fonctions génériques Java ? comment utiliser? Quelles sont les limites supérieure et inférieure des fonctions génériques Java ? comment utiliser? Apr 26, 2024 am 11:45 AM

Les fonctions génériques Java permettent de définir des limites supérieures et inférieures. Extends spécifie que le type de données accepté ou renvoyé par une fonction doit être un sous-type du type spécifié, par ex. La limite inférieure (super) spécifie que le type de données accepté ou renvoyé par une fonction doit être un supertype du type spécifié, par ex. L'utilisation de génériques améliore la réutilisabilité et la sécurité du code.

Quelles sont les limitations des fonctions génériques dans Golang ? Quelles sont les limitations des fonctions génériques dans Golang ? Apr 16, 2024 pm 05:12 PM

Limitations des fonctions génériques Go : seuls les paramètres de type sont pris en charge, les paramètres de valeur ne sont pas pris en charge. La récursion des fonctions n'est pas prise en charge. Les paramètres de type ne peuvent pas être spécifiés explicitement, ils sont déduits par le compilateur.

Application des génériques Java dans le développement Android Application des génériques Java dans le développement Android Apr 12, 2024 pm 01:54 PM

L'application de génériques dans le développement Android améliore la réutilisabilité, la sécurité et la flexibilité du code. La syntaxe consiste à déclarer une variable de type T qui peut être utilisée pour manipuler des données paramétrées par type. Les génériques en action incluent des adaptateurs de données personnalisés, permettant à l'adaptateur de s'adapter à tout type d'objet de données personnalisé. Android fournit également des classes de listes génériques (telles que ArrayList) et des méthodes génériques permettant la manipulation de paramètres de différents types. Les avantages de l'utilisation de génériques incluent la réutilisabilité, la sécurité et la flexibilité du code, mais il faut veiller à spécifier les limites correctes et à les utiliser avec modération pour garantir la lisibilité du code.

Quel est l'impact des génériques Golang sur les signatures et les paramètres des fonctions ? Quel est l'impact des génériques Golang sur les signatures et les paramètres des fonctions ? Apr 17, 2024 am 08:39 AM

L'impact des génériques sur les signatures et les paramètres des fonctions Go comprend : Paramètres de type : les signatures de fonction peuvent contenir des paramètres de type, spécifiant les types que la fonction peut utiliser. Contraintes de type : les paramètres de type peuvent avoir des contraintes qui spécifient les conditions qu'ils doivent satisfaire. Inférence de type de paramètre : le compilateur peut déduire le type de paramètres de type non spécifiés. Spécification des types : les types de paramètres peuvent être explicitement spécifiés pour appeler des fonctions génériques. Cela augmente la réutilisabilité et la flexibilité du code, vous permettant d'écrire des fonctions et des types pouvant être utilisés avec plusieurs types.

Les paramètres variables Golang peuvent-ils être utilisés dans des fonctions génériques ? Les paramètres variables Golang peuvent-ils être utilisés dans des fonctions génériques ? Apr 29, 2024 pm 02:06 PM

Dans Go, les paramètres variadiques peuvent être utilisés pour des fonctions génériques, permettant la création de fonctions génériques acceptant un nombre variable de paramètres et adaptées à plusieurs types. Par exemple, vous pouvez créer une fonction générique Mode qui recherche l'élément le plus fréquent dans une liste donnée : Mode accepte un nombre variable d'éléments de type T. Il compte les éléments en créant des comptes pour chaque élément. Ensuite, il trouve l'élément qui apparaît le plus et le renvoie en mode. Dans la fonction principale, vous pouvez appeler la fonction Mode pour la liste de chaînes et la liste d'entiers, qui renverront respectivement la chaîne et le nombre avec le plus d'occurrences.

Comment les types d'énumération Java fonctionnent-ils avec les génériques ? Comment les types d'énumération Java fonctionnent-ils avec les génériques ? May 04, 2024 am 08:36 AM

La combinaison des types d'énumération et des génériques en Java : lors de la déclaration d'une énumération avec des génériques, vous devez ajouter des crochets angulaires et T est le paramètre de type. Lors de la création d'une classe générique, vous devez également ajouter des crochets angulaires, T est un paramètre de type qui peut stocker n'importe quel type. Cette combinaison améliore la flexibilité du code, la sécurité du type et simplifie le code.

See all articles