|
|
Publié sur 28/01/2019 16:03:40
|
|
|
|

1. Qu’est-ce qui est générique ?
Les génériques sont une nouvelle syntaxe introduite dans C# 2.0, pas du sucre syntaxique, mais des fonctionnalités fournies par les mises à jour du framework en 2.0.
Lorsque nous programmons des programmes, nous rencontrons souvent des modules avec des fonctions très similaires, mais qui gèrent des données différentes. Mais nous n’avons pas d’autre choix que d’écrire plusieurs méthodes séparément pour gérer différents types de données. À ce stade, la question est : existe-t-il un moyen d’utiliser la même méthode pour gérer différents types de paramètres ? L’émergence des génériques est spécifiquement conçue pour résoudre ce problème.
2. Pourquoi utiliser des génériques
Voyons l’exemple suivant :
Résultat:
D’après les résultats ci-dessus, on peut voir que ces trois méthodes ont les mêmes fonctions sauf pour les paramètres différents qu’elles passent. À l’époque de la version 1.0, il n’existait pas de concept de génériques, donc que faire. Je pense que beaucoup de gens penseront à l’héritage de l’une des trois grandes caractéristiques de la POO ; nous savons qu’en C#, objet est la classe de base de tous les types, et le code ci-dessus est optimisé comme suit :
Résultat:
D’après les résultats ci-dessus, nous pouvons voir que l’utilisation du type d’objet répond à nos exigences et résout la réutilisabilité du code. Certaines personnes peuvent se demander pourquoi il est possible de passer int, chaîne, etc. alors que c’est défini comme un type d’objet ? Il y a deux raisons :
1. Le type d’objet est la classe parente de tous les types.
2. Par héritage, les sous-classes possèdent tous les attributs et comportements de la classe parente, et partout où la classe mère apparaît, elle peut être remplacée par des sous-classes.
Mais la méthode de type objet ci-dessus pose un autre problème : le boxing et le déballage peuvent réduire les performances du programme.
Microsoft a introduit des génériques en C# 2.0, qui peuvent très bien résoudre les problèmes ci-dessus.
3. Paramètres de type génériques
Dans une définition de type ou de méthode générique, un paramètre de type est un lieu de placement spécifié par le client pour un type spécifique lorsqu’il instance une variable de ce type générique. La classe générique (GenericList<T>) ne peut pas être utilisée telle quelle car ce n’est pas un vrai type ; C’est plutôt un plan pour les types. Pour utiliser <T>GenericList, le code client doit déclarer et instancier un type de construction en spécifiant le paramètre de type entre crochets d’angle. L’argument de type pour cette classe particulière peut être n’importe quel type que le compilateur reconnaît. Vous pouvez créer n’importe quel nombre d’instances de type construct, chacune avec un paramètre de type différent.
Le code de l’exemple ci-dessus peut être modifié comme suit :
Annonce :
Montrer les résultats :
|
Précédent:Fournisseurs de fichiers .NET CoreProchain:Requête sur le nom de la base de données MySQL, le nom de la table et le nom du champ
|