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..
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.
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)
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
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.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
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..
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
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
Aber er gibt mir immernoch, die Fehlermeldung bei guess = input[0]; aus..
Du hast die Regeln erst heute, bei Deiner Registrierung, als gelesen markiert.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
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
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
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!
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