Я работаю над игрой палача, которая запускается в консоли, и пытаюсь проверить, является ли угаданная буква частью слова, которое хранится в массиве символов.Когда я пытаюсь запустить это и ввести букву, которая является истинной, исключений не возникает;однако, когда я ввожу букву, которая не является частью слова, я получаю исключение FormatException о том, что длина строки должна быть всего один символ.Имейте в виду, что я ввожу один символ, когда получаю это исключение.Вот код:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main(string[] args)
{
Game game = new Game();
if(game.CheckAnswer())
{
Console.WriteLine("true");
}
else if(!game.CheckAnswer())
{
Console.WriteLine("false");
}
}
}
class Word
{
public static string GetWord()
{
string[] words = new string[5]{"alpha", "bravo", "charlie", "delta", "echo"};
Random random = new Random();
return words[random.Next(5)];
}
public char[] correctAnswer = GetWord().ToCharArray();
}
class Game
{
static char guessLetter;
static List<char> correctGuesses = new List<char>();
static List<char> incorrectGuesses = new List<char>();
Word word = new Word();
public bool CheckAnswer()
{
guessLetter = Convert.ToChar(Console.ReadLine());
if (word.correctAnswer.Contains(guessLetter))
{
return true;
}
else if (!word.correctAnswer.Contains(guessLetter))
{
return false;
}
else
{
return false;
}
}
}
Да, я проверил другие ответы, и нет, у них не было решения моей проблемы.