Как сравнить даты в C# из пользовательского ввода? - PullRequest
0 голосов
/ 26 января 2020

Это мой код. Поэтому я хотел бы создать игру, в которой пользователь отслеживает время и угадывает, какое сейчас время. Тем не менее, я получаю сообщение об ошибке, что я не могу сравнить Int с DateTime.

   using System;

    namespace DateCheck
    {
        class Program
        {
            static void Main(string[] args)
            {

                int dt1 = Convert.ToInt32(Console.ReadLine());

                DateTime dt2 = DateTime.Now;

                if (dt1.Date == dt2.Date)
                {
                    Console.WriteLine("yup");
                }
                else
                {
                    Console.WriteLine("nope");

                }

            }
        }
    }

1 Ответ

0 голосов
/ 26 января 2020

Вы правильно получаете ввод пользователя в виде строки, но вам нужно преобразовать его в тип данных DateTime, а не в Int32 (int).

Попробуйте вместо этого:

DateTime dt1 = DateTime.Parse(Console.ReadLine());

У вашей программы могут быть и другие проблемы, например: DateTime.Now вернет текущее время с точностью до миллисекунды. Ваш пользователь, скорее всего, не угадает это правильно.

...