Laden...

Wie kann ich abfragen ob meine Eingabe " " bzw einfach "nichts" ist?

Erstellt von Lens445 vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.700 Views
L
Lens445 Themenstarter:in
45 Beiträge seit 2017
vor 6 Jahren
Wie kann ich abfragen ob meine Eingabe " " bzw einfach "nichts" ist?

Hey Leute,

habe ein Hangman Spiel programmiert das auch einwandfrei läuft, allerdings wenn man die Retourn Taste drückt, haut es mir eine Fehlermeldung raus. Ich muss also abfragen was passiert wenn man eben nichts angibt.
Nur wie mach ich das? Weil mit string.empty klappt es nicht, da es kein string is. Die Fehlermeldung wird mir hier ausgegeben:


            int lives = 5; //Anzahl Versuche
            bool won = false;
            int lettersRevealed = 0; //Aufgedeckte Buchstaben
            string input;
            char guess; //Versuche

            while (!won && lives > 0)
            {
                Console.WriteLine("Gib einen Buchstaben ein: ");
                input = Console.ReadLine().ToUpper();
                guess = input[0]; //-->Hier is die Fehlermeldung

habt ihr eine Idee? Vllt mit try und catch? aber er gibt mir nur Fehlermeldungen aus..

3.003 Beiträge seit 2006
vor 6 Jahren

Deinen Enthusiasmus in allen Ehren, aber vielleicht wäre es sinnvoll, erst einmal ein gutes Buch zu C# durchzuarbeiten? Gibt durchaus welche, die nicht allzu langweilig sind.

String.IsNullOrEmpty

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

1.029 Beiträge seit 2010
vor 6 Jahren

Hi,

vorab für die Zukunft: Bitte benutz die Code-Tags.

Zu deinem aktuellen Problem:
Gemäß deinem eigentlichen Wunsch wäre die Methode

string.IsNullOrWhiteSpace

interessant.

Prinzipiell würde bei dir allerdings auch

input.Length

eine gute Verwendung finden.

LG

Edit: Nach Abt's Hinweis noch eine Klarstellung meinerseits:
Meinerseits ist das so gedacht, dass sowohl string.IsNullOrWhitespace als auch input.Length verwendet werden.
a) string.IsNullOrWhitespace ist dazu gedacht prinzipiell unbrauchbare strings abzulehnen
b) input.Length sollte man dazu verwenden, dass auch immer nur inputs mit Länge = 1 verwendet werden

16.806 Beiträge seit 2008
vor 6 Jahren

string.IsNullOrWhiteSpace ist die beste Methode um alle WhiteSpace Chars zu prüfen.
Im Hintergrund wird Char.IsWhitespace zur Prüfung gegezogen, sodass auch entsprechende Space / Line Separators geprüft werden.

Wenn also wirklich keine Leerzeichen o.ä. durchrutschen sollen ist die WhitesSpace Prüfung sicherer als die Längenprüfung.

L
Lens445 Themenstarter:in
45 Beiträge seit 2017
vor 6 Jahren

Hey, sorry bin neu hier und auch in der ganzen C# Welt sehr neu, verzeiht mir also doofe Fragen X(

also zur erwähnten doofen Frage 😁 :

muss ich dann guess = string.IsNullOr.WhiteSpace eingeben? ich komm grad echt nicht weiter..

2.207 Beiträge seit 2011
vor 6 Jahren

Hallo Lens445,

wenn du "IsNullOrWhiteSpace" einfach suchst kommst du auf String.IsNullOrWhiteSpace-Methode: (String)

Da steht wie man es verwendet.

bool isStringNullOrWhitespace = String.IsNullOrWhiteSpace("    ")

Bitte siehe auch [FAQ] Wie finde ich den Einstieg in C#?

und [Artikel] Debugger: Wie verwende ich den von Visual Studio?

Gruss

Coffeebean

L
Lens445 Themenstarter:in
45 Beiträge seit 2017
vor 6 Jahren

Aber er gibt mir immernoch, die Fehlermeldung bei guess = input[0]; aus..

16.806 Beiträge seit 2008
vor 6 Jahren
  1. kann das sein, dass Du hier Schul-/Hausaufgaben auf das Forum abwälzt? So sieht es aktuell aus.
  2. [Hinweis] Wie poste ich richtig? Punkt 5 - ohne genaue Fehlermeldung können wir nur raten; und das will hier keiner. Dafür hat keiner Zeit (oder Lust).

Du hast die Regeln erst heute, bei Deiner Registrierung, als gelesen markiert.

2.207 Beiträge seit 2011
vor 6 Jahren

Hallo Lens445,

schau doch mal, was in Input[0] steht. Ich vermute mal: Gar nichts 😃

Weiter

die Fehlermeldung

Wir bissen bis jetzt nicht, was "Die Fehlermeldung" überhaupt besagt.

Frag vorher ab, ob input etwas beinhaltet etc und dann mach weiter...

Bitte benutze dazu den Debugger: [Artikel] Debugger: Wie verwende ich den von Visual Studio? der kann dir helfen.

Gruss

Coffeebean

L
Lens445 Themenstarter:in
45 Beiträge seit 2017
vor 6 Jahren

das sind einfach Übungen die ich zur Hilfe machen kann 😉

Ich habe das Problem übrigens selber gefunden, habe eine if Schleife gemacht 🙂 aber vielen dank an euch alle!

D
985 Beiträge seit 2014
vor 6 Jahren

Bitte aufmerksam lesen: if-schleife

1
124 Beiträge seit 2012
vor 6 Jahren

Ich habe das Problem übrigens selber gefunden, habe eine if Schleife gemacht 😃 aber vielen dank an euch alle!

Hallo,

nur mal als Info, eine If Schleife gibt es nicht. Da legen Lehrer oder Profs meiner Erfahrung nach Wert drauf.

if,switch = Anweisung
for,foreach,while = Schleife

Gruß
Thomas

L
Lens445 Themenstarter:in
45 Beiträge seit 2017
vor 6 Jahren

okaay danke 😁
werd ich mir merken 👍