как исправить эту проблему в моем коде. «Аргумент 1: невозможно преобразовать строку в логическое значение» - PullRequest
0 голосов
/ 03 августа 2020
using System;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("How goes the day?");

            string day = Console.ReadLine();
            if (day == Console.ReadKey("Good")) < -----heres the issue
            {
                Console.WriteLine("Good to hear");
            }
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 03 августа 2020

Console.ReadKey() будет читать только следующий ключ, введенный пользователем. Console.ReadLine() будет читать весь ввод пользователя в консоль для этой строки.

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

if (Console.ReadLine().Equals("good"))
{
    Console.WriteLine("Good to hear");
}

EDIT: Удалена неверная информация о равенстве строк. String.equals() совпадает с string == string, это зависит от личных предпочтений. Подробнее об этом можно прочитать на MSDN .

0 голосов
/ 03 августа 2020

Вы вызываете метод Console.ReadKey без необходимости.

Существует множество документации и руководств, которые могут помочь вам в этом. Некоторые другие пользователи дали вам ссылки. Следуйте за ними и учитесь. Лучший способ учиться - это делать, и, поскольку это самый базовый c кодов, вам следует попробовать и научиться путем поиска и выполнения некоторых руководств. У меня нет go, это лучший способ учиться.

    string day = Console.ReadLine();
    if (day == "Good")
    {
        Console.WriteLine("Good to hear");
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...