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.
Aufgabe
EinfachErstellen Sie eine Methode namens RemoveElement, die zwei Argumente nimmt:
- Ein HashSet von Strings (
set) - 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ückProbier 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
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling8Data Analysis System
Data Collection SetupData Entry Logic11HashSet Part 1
What is a HashSet?Adding an ElementRemoving an ElementChecking if an Element ExistsEmpty and SizeRecap - HashSet3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety