Guess the Number c#. Das Programm soll eine Meldung ausgeben wenn der Benutzer Buchstaben eingibt?

3 Antworten

Für die Prüfung kannst du auf das Ergebnis von TryParse bauen:

string userInput = Console.ReadLine();

if (int.TryParse(userInput, out int number))
{
  // valid number ...
}
else
{
  Console.WriteLine("Please enter a valid number.");
}

Diese Methode versucht eine ganze Zahl aus einen String zu parsen. Wenn das scheitert, gibt sie false zurück, andernfalls true. Die geparste Zahl wiederum wird bei Erfolg in eine neue Variable number geschrieben.

Genau genommen verhindert diese Implementation auch weitere invalide Eingaben, die genauso aus Sonderzeichen, statt Buchstaben bestehen könnten.

Wollte man ganz konkret nur nach Buchstaben schauen, könnte eine Lösung auch so aussehen:

if (userInput.Any(Char.IsLetter))
{
  Console.WriteLine("Input contains a letter.");
}
else
{
  // userInput contains no letter
}

Die Methode Any ist eine Erweiterungsfunktion aus dem System.Linq-Namespace, der in dein Programm eingebunden werden muss. Die Methode durchläuft jedes einzelne Zeichen des Strings und ruft für jedes die IsLetter-Methode der Char-Struktur auf. Wenn auch nur ein Zeichen als Buchstabe erkannt wird, bricht die Methode ihre Arbeit ab und gibt den Wert true zurück. Bei keinem Fund hingegen natürlich false.

if ( !(text >= 0))

{

MessageBox.Show("Meldungstext");

}

Woher ich das weiß:Hobby – Ich beschäftige mich schon seit ich jung bin mit Computern

Wenn's .net Framework ist dann MessageBox.Show.

Woher ich das weiß:eigene Erfahrung – Bin seit Jahren in dieser Branche tätig