Как использовать "char" в качестве контрольного значения в цикле while - PullRequest
0 голосов
/ 13 июля 2020

Мои инструкции :

Реализовать консольное приложение / программу C#, которая использует структуру while-l oop, контролируемую дозорным, для непрерывного запроса, чтения и сохранить результаты теста, введенные пользователем. Пользователь остановит свою последовательность ввода, введя символ «x». Вам также необходимо использовать структуру выбора переключателя (вложенную внутри while l oop).

например, код, который будет использоваться:

char stop = 'x';

Console.WriteLine("Enter result (x to stop): ");

results = Convert.ToChar(Console.ReadLine());

while(results != stop)
{   
       Console.WriteLine("Enter result (x to stop): ");
       results = Convert.ToChar(Console.ReadLine());
}

Когда я пытаюсь ввести 'х' как есть, не работает

Ответы [ 2 ]

1 голос
/ 13 июля 2020

вы используете Console.WriteLine, но вы должны использовать Console.ReadKey и опустить Convert.ToChar вместо того, чтобы получить свойство KeyChar возвращаемого значения.

поэтому

while(results != stop)
{   
       Console.WriteLine("Enter result (x to stop): ");
       results = Console.ReadKey().KeyChar;
}

должно работать, не тестировал

0 голосов
/ 13 июля 2020

Вы преобразовываете в неправильный тип: не каждый string может быть преобразован в одиночный char (скажем, "xenogg"). Однако каждый символ может быть представлен как string с помощью ToString():

    char stop = 'x';

    // Keep looping ...
    while (true) {
      // ...and asking user for input...
      Console.WriteLine("Enter result (x to stop): ");

      string results = Console.ReadLine();

      // ... until (s)he puts "x" 
      // put StringComparison.OrdinalIgnoreCase if 'X' is exit as well as 'x'
      if (string.Equals(results.Trim(), x.ToString(), StringComparison.Ordinal))
        break;

      // results is not "x" 
      //TODO: add relevant code here
    } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...