Menu
Coddy logo textTech

Removing an Element

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

Die Remove(element)-Methode entfernt das angegebene Element aus der HashSet, falls es vorhanden ist. Diese Methode gibt true zurück, wenn das Element erfolgreich entfernt wurde, und false, wenn das Element nicht in der Menge gefunden wurde.

Erstellen Sie eine leere HashSet:

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

Fügen Sie einige Elemente zum Set hinzu:

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

Nach der Ausführung des obigen Codes enthält die Menge fruits:

["Apple", "Banana", "Cherry"]

Nun, entfernen Sie „Banana“ aus der Menge:

bool wasRemoved = fruits.Remove("Banana");

Nach dem Entfernen enthält das Set:

["Apple", "Cherry"]

Der Wert von wasRemoved wird true sein, weil „Banana“ gefunden und entfernt wurde.

Wenn wir versuchen, ein Element zu entfernen, das nicht existiert:

bool wasRemoved = fruits.Remove("Orange");

Die Menge bleibt unverändert, und wasRemoved wird false sein.

challenge icon

Aufgabe

Einfach

Erstellen Sie eine Methode namens RemoveElement, die zwei Argumente nimmt:

  1. Ein HashSet von Strings (set)
  2. Ein String (element) zum Entfernen

Die Methode sollte versuchen, das gegebene Element aus dem Set zu entfernen. Wenn das Element erfolgreich entfernt wurde, drucken Sie "Element removed: True", andernfalls drucken Sie "Element removed: False". Dann drucken Sie das aktualisierte Set in einer neuen Zeile aus.

Spickzettel

Die Remove(element)-Methode entfernt das angegebene Element aus dem HashSet und gibt true zurück, wenn erfolgreich, false, wenn das Element nicht gefunden wurde:

HashSet<string> fruits = new HashSet<string>();
fruits.Add("Apple");
fruits.Add("Banana");
fruits.Add("Cherry");

bool wasRemoved = fruits.Remove("Banana"); // gibt true zurück
bool notFound = fruits.Remove("Orange");   // gibt false zurück

Probier es selbst

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

public class Program
{
    public static void RemoveElement(HashSet<string> set, string element)
    {
        // Schreibe deinen Code hier
    }
    
    public static void Main()
    {
        HashSet<string> set = new HashSet<string>();
        
        // Read first line to check if it's JSON format
        string firstLine = Console.ReadLine();
        string elementToRemove;
        
        // Check if input is in JSON array format
        if (firstLine != null && firstLine.StartsWith("[") && firstLine.EndsWith("]"))
        {
            try
            {
                // Extract content between square brackets
                string arrayContent = firstLine.Substring(1, firstLine.Length - 2);
                
                // Use regex to match all quoted strings
                MatchCollection matches = Regex.Matches(arrayContent, @"""([^""]*)""");
                
                foreach (Match match in matches)
                {
                    // Add the captured group (without quotes)
                    if (match.Groups.Count > 1)
                    {
                        set.Add(match.Groups[1].Value.Trim());
                    }
                }
                
                // Read second line for element to remove
                string secondLine = Console.ReadLine();
                
                // Check if element is in JSON string format
                Match elementMatch = Regex.Match(secondLine, @"""([^""]*)""");
                if (elementMatch.Success && elementMatch.Groups.Count > 1)
                {
                    elementToRemove = elementMatch.Groups[1].Value;
                }
                else
                {
                    elementToRemove = secondLine;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error parsing JSON input: {ex.Message}");
                return;
            }
        }
        else
        {
            // Process traditional input format
            string[] elements = firstLine.Split(',');
            foreach (string element in elements)
            {
                set.Add(element.Trim());
            }
            
            // Read element to remove in traditional format
            elementToRemove = Console.ReadLine();
        }
        
        RemoveElement(set, elementToRemove);
    }
}
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