Qu'est-ce qu'un HashSet ?
Fait partie de la section Logique & Flux du Journey C# de Coddy — leçon 56 sur 66.
Un HashSet est une collection en C# qui stocke des éléments uniques sans ordre particulier. Il fait partie de l'espace de noms System.Collections.Generic et fournit des opérations d'ensemble de haute performance.
Tout d'abord, incluez l'espace de noms requis :
using System.Collections.Generic;Créer un HashSet vide :
HashSet<string> fruits = new HashSet<string>();Cela crée un HashSet qui peut stocker des valeurs string.
Contrairement aux tableaux ou aux listes, les HashSets :
- N'autorisent pas les éléments en double
- Ne conservent pas l'ordre d'insertion
- Fournissent des opérations de recherche rapides (complexité O(1))
- Sont idéaux lorsque vous devez garantir l'unicité
Si vous essayez d'ajouter un élément en double, le HashSet l'ignorera :
fruits.Add("Apple");
fruits.Add("Apple"); // Ceci est ignoréAprès l'exécution du code ci-dessus, l'ensemble ne contient toujours qu'un seul "Apple".
Aide-mémoire
Un HashSet est une collection qui stocke des éléments uniques sans ordre particulier et offre des opérations de recherche rapides.
Incluez l'espace de noms requis :
using System.Collections.Generic;Créez un HashSet :
HashSet<string> fruits = new HashSet<string>();Caractéristiques clés :
- Aucun élément en double autorisé
- Aucun ordre d'insertion maintenu
- Opérations de recherche rapides (complexité O(1))
- Les ajouts de doublons sont ignorés
Ajout d'éléments :
fruits.Add("Apple");
fruits.Add("Apple"); // Ignoré - pas de doublonsEssayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Tableaux multidimensionnels
Bases des tableaux 2DDéclaration et initialisation en 2DAccès aux éléments d'un tableau 2DBoucles imbriquées et tableaux 2DTableaux irréguliersOpérations matricielles courantesRécapitulatif - Multidimensionnel4Techniques de contrôle de flux
Retours anticipésClauses de gardeInstructions de saut (goto)Break et ContinueAplatir les conditionnelles imbriquées2Prise de décision avancée
Conditions multiplesLogique booléenne complexeComparaison If vs SwitchInstructions Switch imbriquéesRécapitulatif - Décisions avancées5Gestion des exceptions
Bases du Try-CatchTypes d'exceptionsBlocs Catch multiplesManipulation de fichiersLe bloc FinallyUsing vs Try-FinallyExceptions personnaliséesRécapitulatif - Gestion des erreurs8Système d'analyse de données
Configuration de la collecte de donnéesLogique de saisie de données11HashSet Partie 1
Qu'est-ce qu'un HashSet ?Ajouter un élémentSupprimer un élémentVérifier si un élément existeVide et tailleRécapitulatif - HashSet3Améliorations des boucles
Performance des bouclesItération de structures complexesChaque type de boucleRefactorisation des bouclesRécapitulatif - Boucles optimisées6Gestion des valeurs nulles
Les bases des références nullesTypes valeur nullablesPatterns de vérification de nullitéProgrammation défensiveRécapitulatif - Null Safety