Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Qu'est-ce Que les Génériques ? | Génériques et Réflexion
C# Avancé Avec .NET
course content

Contenu du cours

C# Avancé Avec .NET

C# Avancé Avec .NET

1. Introduction au Développement de Bureau avec .NET
2. GUI Interactif
3. Threading
4. Génériques et Réflexion

book
Qu'est-ce Que les Génériques ?

Le terme Générique signifie "général" ou "collectif". En termes de programmation C#, générique signifie "non spécifique à un type (de données) particulier".

Les génériques sont un moyen d'ajouter de la flexibilité à notre code et de le rendre plus robuste. En créant une classe générique, nous pouvons laisser les types de données de ses champs, propriétés, paramètres de méthode, ou même le retour de méthode comme indécis ou générique, et ils peuvent être remplis plus tard par n'importe quel type de données qui peut être décidé au moment de la création de l'objet. Nous pouvons examiner des exemples pour mieux comprendre ce concept.

L'espace de noms System.Collections.Generic contient certaines classes de collection basées sur des génériques telles que Lists et Dictionaries. Nous avons déjà examiné la syntaxe pour créer et utiliser des Lists et des Dictionaries.

Voici la syntaxe pour créer un nouvel objet liste :

cs

index

copy
1
new List<datatype>();

De même, voici la syntaxe pour créer un nouvel objet dictionnaire :

cs

index

copy
1
new Dictionary<datatype1, datatype2>();

Nous savons déjà que la syntaxe de base pour créer un nouvel objet d'une classe est new ClassName(arg1, …);. Cependant, dans le cas de List et Dictionary, il y a des types de données inclus entre chevrons (<, >).

Cela est dû au fait que List et Dictionary sont des types ou classes basés sur des génériques, et permettent donc la flexibilité de créer des objets pouvant supporter n'importe quel type de données. Ainsi, nous sommes capables de créer des listes et des dictionnaires qui peuvent stocker des valeurs de n'importe quel type de données, y compris int, float, double, bool ou même des objets de nos propres classes :

cs

index

copy
1234567891011
class ExampleClass { int value; public ExampleClass(int value) { this.value = value; } } var exampleList = new List<ExampleClass>(); var exampleDict = new Dictionary<string, ExampleClass>();

Il aurait été fastidieux et inefficace si les classes List et Dictionary avaient été implémentées sans utiliser de génériques. Peut-être qu'il y aurait eu plusieurs classes différentes pour prendre en charge différents types de données, ou une logique compliquée à l'intérieur d'une seule classe qui permet de prendre en charge plusieurs types de données au détriment de la sécurité des types, augmentant ainsi le risque d'erreurs d'exécution.

En fait, il existe une version plus ancienne de la classe List encore disponible dans l'espace de noms System.Collections, connue sous le nom de ArrayList, qui est une classe non générique et est donc sujette à des erreurs d'exécution. Dans la documentation Microsoft, il est déconseillé d'utiliser ArrayList, cependant, il est toujours inclus dans les versions récentes de C# pour maintenir la compatibilité avec les anciens programmes.

Les génériques fournissent une méthode élégante pour prendre en charge plusieurs types de données à partir d'une seule classe, améliorant ainsi la réutilisabilité du code, l'efficacité et la sécurité des types.

Le ou les types de données que nous passons entre les crochets angulaires sont connus sous le nom de paramètres de type générique, ou simplement paramètres de type.

1. Quel est le principal objectif des génériques en programmation?

2. Lequel de ceux-ci n'est PAS un type basé sur les génériques ?

Quel est le principal objectif des **génériques** en programmation?

Quel est le principal objectif des génériques en programmation?

Sélectionnez la réponse correcte

Lequel de ceux-ci n'est **PAS** un type basé sur les génériques ?

Lequel de ceux-ci n'est PAS un type basé sur les génériques ?

Sélectionnez quelques réponses correctes

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 1
We're sorry to hear that something went wrong. What happened?
some-alt