Menu
Coddy logo textTech

Prüfen, ob ein Element vorhanden ist

Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy. Lektion 59 von 66.

Die Methode Contains(element) prüft, ob ein bestimmtes Element im HashSet vorhanden ist. Sie gibt true zurück, wenn das Element gefunden wird, und andernfalls false.

Erstelle ein leeres HashSet:

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

Füge einige Elemente zum HashSet hinzu:

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

Prüfen, ob ein Element existiert:

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

Sie können das Ergebnis in bedingten Anweisungen verwenden:

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

Aufgabe

Einfach

Erstelle eine Methode namens ElementExists, die zwei Argumente entgegennimmt:

  • Ein HashSet von Zeichenfolgen (set)
  • Eine Zeichenfolge (element), die überprüft werden soll

Die Methode soll prüfen, ob das Element im Set vorhanden ist, und eine Zeichenfolgennachricht zurückgeben:

  • Wenn das Element vorhanden ist, gib „Das Element ‚X‘ ist im Set vorhanden“ zurück
  • Wenn das Element nicht vorhanden ist, gib „Das Element ‚X‘ ist im Set nicht vorhanden“ zurück

Dabei ist „X“ der tatsächliche Wert des zu überprüfenden Elements.

Probier es selbst

using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;

public class Program
{
    public static string ElementExists(HashSet<string> set, string element)
    {
        // Schreiben Sie hier Ihren Code
        return "";
    }
    
    public static void Main()
    {
        // Erste Zeile lesen, um zu prüfen, ob es JSON-Format ist
        string firstLine = Console.ReadLine();
        string elementToCheck = Console.ReadLine();
        HashSet<string> set = new HashSet<string>();
        
        // Prüfen, ob die Eingabe im JSON-Array-Format ist
        if (firstLine != null && firstLine.StartsWith("[") && firstLine.EndsWith("]"))
        {
            try
            {
                // Inhalt zwischen eckigen Klammern extrahieren
                string arrayContent = firstLine.Substring(1, firstLine.Length - 2);
                
                // Regex verwenden, um alle angeführten Strings zu matchen
                MatchCollection matches = Regex.Matches(arrayContent, @"""([^""]*)""");
                
                foreach (Match match in matches)
                {
                    // Die erfasste Gruppe hinzufügen (ohne Anführungszeichen)
                    if (match.Groups.Count > 1)
                    {
                        set.Add(match.Groups[1].Value.Trim());
                    }
                }
                
                // Prüfen, ob das Element im JSON-String-Format ist
                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
        {
            // Traditionelle komma-separierte Eingabe verarbeiten
            string[] elements = firstLine.Split(',');
            foreach (string element in elements)
            {
                set.Add(element.Trim());
            }
        }
        
        string result = ElementExists(set, elementToCheck);
        Console.WriteLine(result);
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Online-C#-Compiler