Checking if an Element Exists
Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy — Lektion 59 von 66.
Die Contains(element)-Methode überprüft, ob ein bestimmtes Element in der HashSet vorhanden ist. Sie gibt true zurück, wenn das Element gefunden wurde, und false andernfalls.
Erstellen Sie eine leere HashSet:
HashSet<string> fruits = new HashSet<string>();Fügen Sie einige Elemente zur 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 falseSie können das Ergebnis in bedingten Anweisungen verwenden:
if (fruits.Contains("Apple"))
{
Console.WriteLine("Apple is in the set");
}Aufgabe
EinfachErstellen Sie eine Methode namens ElementExists, die zwei Argumente annimmt:
- Ein HashSet von Strings (
set) - Ein String (
element) zur Überprüfung
Die Methode sollte prüfen, ob das Element im Set vorhanden ist, und eine String-Nachricht zurückgeben:
- Wenn das Element vorhanden ist, geben Sie "The element 'X' exists in the set" zurück
- Wenn das Element nicht vorhanden ist, geben Sie "The element 'X' does not exist in the set" zurück
Wobei 'X' der tatsächliche Wert des zu überprüfenden Elements ist.
Spickzettel
Die Contains(element)-Methode überprüft, ob ein bestimmtes Element in der HashSet vorhanden ist. Sie gibt true zurück, wenn das Element gefunden wird, und false andernfalls.
Eine leere HashSet erstellen:
HashSet<string> fruits = new HashSet<string>();Elemente zur HashSet hinzufügen:
fruits.Add("Apple");
fruits.Add("Banana");Prüfen, ob ein Element vorhanden ist:
bool hasApple = fruits.Contains("Apple"); // Returns true
bool hasOrange = fruits.Contains("Orange"); // Returns falseVerwendung in bedingten Anweisungen:
if (fruits.Contains("Apple"))
{
Console.WriteLine("Apple is in the set");
}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);
}
}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