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 falseSie können das Ergebnis in bedingten Anweisungen verwenden:
if (fruits.Contains("Apple"))
{
Console.WriteLine("Apple is in the set");
}Aufgabe
EinfachErstelle 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);
}
}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