Vérifier si un élément existe
Fait partie de la section Logique & Flux du Journey C# de Coddy. Leçon 59 sur 66.
La méthode Contains(element) vérifie si un élément spécifique existe dans le HashSet. Elle renvoie true si l’élément est trouvé, et false dans le cas contraire.
Créez un HashSet vide :
HashSet<string> fruits = new HashSet<string>();Ajoutez quelques éléments au HashSet :
fruits.Add("Apple");
fruits.Add("Banana");Vérifiez si un élément existe :
bool hasApple = fruits.Contains("Apple"); // Renvoie true
bool hasOrange = fruits.Contains("Orange"); // Renvoie falseVous pouvez utiliser le résultat dans des instructions conditionnelles :
if (fruits.Contains("Apple"))
{
Console.WriteLine("Apple is in the set");
}Défi
FacileCréez une méthode nommée ElementExists qui prend deux arguments :
- Un HashSet de chaînes (
set) - Une chaîne (
element) à vérifier
La méthode doit vérifier si l’élément existe dans l’ensemble et renvoyer un message sous forme de chaîne :
- Si l’élément existe, renvoyer "The element 'X' exists in the set"
- Si l’élément n’existe pas, renvoyer "The element 'X' does not exist in the set"
Où 'X' correspond à la valeur réelle de l’élément vérifié.
Essayez vous-même
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
public class Program
{
public static string ElementExists(HashSet<string> set, string element)
{
// Écrivez votre code ici
return "";
}
public static void Main()
{
// Lire la première ligne pour vérifier s'il s'agit du format JSON
string firstLine = Console.ReadLine();
string elementToCheck = Console.ReadLine();
HashSet<string> set = new HashSet<string>();
// Vérifier si l'entrée est au format de tableau JSON
if (firstLine != null && firstLine.StartsWith("[") && firstLine.EndsWith("]"))
{
try
{
// Extraire le contenu entre les crochets
string arrayContent = firstLine.Substring(1, firstLine.Length - 2);
// Utiliser une expression régulière pour faire correspondre toutes les chaînes entre guillemets
MatchCollection matches = Regex.Matches(arrayContent, @"""([^""]*)""");
foreach (Match match in matches)
{
// Ajouter le groupe capturé (sans les guillemets)
if (match.Groups.Count > 1)
{
set.Add(match.Groups[1].Value.Trim());
}
}
// Vérifier si l'élément est au format de chaîne JSON
Match elementMatch = Regex.Match(elementToCheck, @"""([^""]*)""");
if (elementMatch.Success && elementMatch.Groups.Count > 1)
{
elementToCheck = elementMatch.Groups[1].Value;
}
}
catch (Exception ex)
{
Console.WriteLine($"Error parsing JSON input: {ex.Message}");
return;
}
}
else
{
// Traiter l'entrée traditionnelle séparée par des virgules
string[] elements = firstLine.Split(',');
foreach (string element in elements)
{
set.Add(element.Trim());
}
}
string result = ElementExists(set, elementToCheck);
Console.WriteLine(result);
}
}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 SafetyEntraînez-vous par vous-même : Compilateur C# en ligne