Функция вызывается, если в консоль пишешь test
Если много раз писать это слово, то будет флуд, надо чтобы функцию можно было вызывать 10 раз в минуту
Запомните отметку времени, а при следующем вызове проверяйте ее:
var sw = new Stopwatch(); // Секундомер
sw.Start();
// Переменная для хранения метки времени
var prevStamp = sw.ElapsedMilliseconds;
while (true)
{
var c = Console.ReadLine();
if (c == "test")
{
// Если прошло менее 6 с (6000 мс) - пропускаем
if (sw.ElapsedMilliseconds - prevStamp < 6000) continue;
// Иначе - выполняем метод
Test();
// И сохраняем новую отметку времени
prevStamp = sw.ElapsedMilliseconds;
}
}
Создайте переменную счётчик, которая будет увеличиваться каждый раз, когда пользователь вводит test. Если переменная больше или равна 10, тогда не вызывайте вашу функцию. На C# особо не писал, может можно лучше сделать, но смысл такой:
public class Program
{
public static int testCount = 0;
public static void printTest1()
{
Console.WriteLine("test1");
}
public static void Main(string[] args)
{
Timer myTimer = new Timer();
myTimer.Elapsed += (sender, arguments) => testCount = 0;
myTimer.Interval = 60000;
myTimer.Start();
if (Console.ReadLine() == "test")
testCount++;
if (testCount < 10)
printTest1();
}
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Как настроить remote debugger на visual studio 2017 так, чтобы при сборке на компьютере приложения новый файлы отправлялись на компьютер, на котором ведется...
ЗдравствуйтеУ меня есть длинная строка, в которой есть переходы на новую строку, вопросительные, восклицательные знаки, точки
Почему не могу использовать стандартные элементы в visual studio? Подскажите как решить данную проблему пожалуйста