Ein Element entfernen
Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy. Lektion 58 von 66.
Die Methode Remove(element) entfernt das angegebene Element aus dem HashSet, sofern es vorhanden ist. Diese Methode gibt true zurück, wenn das Element erfolgreich entfernt wurde, und false, wenn das Element im Set nicht gefunden wurde.
Erstelle ein leeres 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"]Entferne nun „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.
Aufgabe
EinfachErstelle eine Methode namens RemoveElement, die zwei Argumente entgegennimmt:
- Ein HashSet von Zeichenfolgen (
set) - Eine zu entfernende Zeichenfolge (
element)
Die Methode soll versuchen, das angegebene Element aus dem Set zu entfernen. Wenn das Element erfolgreich entfernt wurde, gib "Element removed: True" aus, andernfalls gib "Element removed: False" aus. Gib anschließend das aktualisierte Set in einer neuen Zeile aus.
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);
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen 2D-Arrays2D-Arrays deklarieren und initialisierenAuf Elemente von 2D-Arrays zugreifenVerschachtelte Schleifen mit 2D-ArraysGezackte ArraysHäufige MatrixoperationenZusammenfassung – Mehrdimensionale Arrays4Techniken zur Ablaufsteuerung
Frühe RückgabenWächterklauselnSprunganweisungen (goto)Break und ContinueVerschachtelte Bedingungen abflachen7Logische Operatoren – Fortgeschritten
KurzschlussauswertungBedingte logische OperatorenOperatorrangfolgeRückblick – Erweiterte Operatoren2Fortgeschrittene Entscheidungslogik
Mehrere BedingungenKomplexe boolesche LogikVergleich: If vs. SwitchVerschachtelte Switch-AnweisungenRückblick – Fortgeschrittene Entscheidungen5Fehlerbehandlung mit Exceptions
Grundlagen von Try-CatchException-TypenMehrere Catch-BlöckeArbeiten mit DateienFinally-BlockUsing im Vergleich zu Try-FinallyBenutzerdefinierte ExceptionsZusammenfassung – Fehlerbehandlung8Datenanalysesystem
Einrichtung der DatenerfassungLogik der Dateneingabe11HashSet Teil 1
Was ist ein HashSet?Ein Element hinzufügenEin Element entfernenPrüfen, ob ein Element vorhanden istLeer und GrößeZusammenfassung – HashSet3Schleifenverbesserungen
SchleifenleistungKomplexe IterationJeder SchleifentypSchleifen refaktorierenRückblick – Optimierte Schleifen6Behandlung von Nullwerten
Grundlagen von NullreferenzenNullable WerttypenMuster zur NullprüfungDefensive ProgrammierungZusammenfassung – NullsicherheitÜbe selbstständig: Online-C#-Compiler