Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Wie kann ich abfragen ob meine Eingabe " " bzw einfach "nichts" ist?
Lens445
myCSharp.de - Member



Dabei seit:
Beiträge: 45

Themenstarter:

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

beantworten | zitieren | melden

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..
private Nachricht | Beiträge des Benutzers
LaTino
myCSharp.de - Experte

Avatar #avatar-4122.png


Dabei seit:
Beiträge: 3.003
Herkunft: Thüringen

beantworten | zitieren | melden

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)
private Nachricht | Beiträge des Benutzers
Taipi88
myCSharp.de - Member

Avatar #avatar-3220.jpg


Dabei seit:
Beiträge: 1.029
Herkunft: Mainz

beantworten | zitieren | melden

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Taipi88 am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.490

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Lens445
myCSharp.de - Member



Dabei seit:
Beiträge: 45

Themenstarter:

beantworten | zitieren | melden

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..
private Nachricht | Beiträge des Benutzers
Coffeebean
myCSharp.de - Team

Avatar #avatar-3295.gif


Dabei seit:
Beiträge: 2.206
Herkunft: Deutschland/Schweiz

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Lens445
myCSharp.de - Member



Dabei seit:
Beiträge: 45

Themenstarter:

beantworten | zitieren | melden

Aber er gibt mir immernoch, die Fehlermeldung bei guess = input[0]; aus..
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.490

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Coffeebean
myCSharp.de - Team

Avatar #avatar-3295.gif


Dabei seit:
Beiträge: 2.206
Herkunft: Deutschland/Schweiz

beantworten | zitieren | melden

Hallo Lens445,

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

Weiter
Zitat von Lens445
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
private Nachricht | Beiträge des Benutzers
Lens445
myCSharp.de - Member



Dabei seit:
Beiträge: 45

Themenstarter:

beantworten | zitieren | melden

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!
private Nachricht | Beiträge des Benutzers
Deaktiviertes Profil
myCSharp.de - Member



Dabei seit:
Beiträge: 985

beantworten | zitieren | melden

Bitte aufmerksam lesen: if-schleife
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Deaktiviertes Profil am .
private Nachricht | Beiträge des Benutzers
123thomas
myCSharp.de - Member



Dabei seit:
Beiträge: 124

beantworten | zitieren | melden

Zitat von Lens445
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
private Nachricht | Beiträge des Benutzers
Lens445
myCSharp.de - Member



Dabei seit:
Beiträge: 45

Themenstarter:

beantworten | zitieren | melden

okaay danke
werd ich mir merken
private Nachricht | Beiträge des Benutzers