class Program
{
static void Main(string[] args)
{
int y = 0;
while (y == 0)
{
Random RandNum = new Random();
int a = RandNum.Next(10, 101);
int b = RandNum.Next(2, 10);
int x = a * b;
string l = x.ToString();
try
{
Console.WriteLine("How many will be {0} * {1}:", a, b);
int num = Convert.ToInt32(Console.ReadLine());
if (num == x)
{
Console.WriteLine("Great work, get it some again?");
string answer = Convert.ToString(Console.ReadLine());
if (answer == "Yes" || answer == "yes")
{
}
else
{
Environment.Exit(0);
}
}
else
{
Console.WriteLine("No, it wrong");
Console.ReadKey(true);
}
}
catch
{
Console.WriteLine("Enter number...");
}
}
}
}
Мне нужно чтобы в этом моменте, по истечении, к примеру, 5 секунд появлялось сообщение «Need a clue?»
Console.WriteLine("How many will be {0} * {1}:", a, b);
int num = Convert.ToInt32(Console.ReadLine());
Для этой цели можно использовать какой-либо таймер.
Добавьте в код поле:
static System.Threading.Timer timer = new Timer(
n => Console.WriteLine("Need a clue?"),
null, Timeout.Infinite, Timeout.Infinite);
Здесь лямбдой задан колбек (функция обратного вызова), который будет вызываться периодически. Первоначально заданы параметры Infinite
, потому что таймер пока не должен работать.
Далее в коде в нужном месте включаем таймер, задавая параметры, через какое время он сработает первый раз и через какие интервалы времени будет срабатывать потом.
Console.WriteLine("How many will be {0} * {1}:", a, b);
timer.Change(5000, 5000);
int num = Convert.ToInt32(Console.ReadLine());
timer.Change(Timeout.Infinite, Timeout.Infinite);
После получения ответа от пользователя снова меняем параметры таймера на Infinite
- он перестанет срабатывать.
В конце вашего кода (перед Environment.Exit
) напишите:
timer.Dispose();
Это освободит ресурсы, занятые таймером. Правило хорошего тона: нужно почистить за собой.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Как реализовать сохранение rtf текста в базу данных и выгрузку его же из бд при помощи RichTextBox или другого элементаВ проекте использую wpf, mvvm
Код ниже (c# vs2010 winforms net40) определяет пользовательский текстбокс со свойствами "только для чтения" и "скрытым курсором"
Например так: нажал на левую сторону экрана - вывелось "Hi", а на правую - "Bye"Когда обе нажал - "Good"