Menu
Coddy logo textTech

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 retourne true si l'élément est trouvé, et false sinon.

Créer 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 false

Vous pouvez utiliser le résultat dans des instructions conditionnelles :

if (fruits.Contains("Apple"))
{
    Console.WriteLine("Apple is in the set");
}
challenge icon

Défi

Facile

Créez une méthode nommée ElementExists qui prend deux arguments :

  • Un HashSet de chaînes de caractères (set)
  • Une chaîne de caractères (element) à vérifier

La méthode doit vérifier si l'élément existe dans l'ensemble et retourner un message sous forme de chaîne de caractères :

  • Si l'élément existe, retournez "The element 'X' exists in the set"
  • Si l'élément n'existe pas, retournez "The element 'X' does not exist in the set"

Où 'X' est la valeur réelle de l'élément vérifié.

Aide-mémoire

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 sinon.

Créer un HashSet vide :

HashSet<string> fruits = new HashSet<string>();

Ajouter des éléments au HashSet :

fruits.Add("Apple");
fruits.Add("Banana");

Vérifier si un élément existe :

bool hasApple = fruits.Contains("Apple");  // Renvoie true
bool hasOrange = fruits.Contains("Orange"); // Renvoie false

Utilisation dans des instructions conditionnelles :

if (fruits.Contains("Apple"))
{
    Console.WriteLine("Apple is in the set");
}

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);
    }
}
quiz iconTestez-vous

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