c#,在任意或随机的时间执行一个函数

本文关键字:函数 一个 执行 时间 任意 随机 | 更新日期: 2023-09-27 17:58:34

我想让一个函数在每天的任意时间执行一个警报。。。我使用c#。

我找不到合适的方法或代码。我想我可以使用timer或rand方法,但它经常发生。

这是代码:

class Program
{
    static void Main(string[] args)
    {
        int i, k;
        int j;
        Console.WriteLine("가위는 0, 바위는 1, 보는 2 선택 => ");            
        string ReadValue = Console.ReadLine();
        j = Convert.ToInt32(ReadValue);
        k = new Random().Next() % 3;
        if(k == 0 && j == 1 || k == 1 && j == 2 || k == 2 && j == 0)
        {
        Console.WriteLine("플레이어 승! 'n");
        }
        else if(k == j)
        {
        Console.WriteLine("무승부! 'n");
        }
        else{
        Console.WriteLine("플레이어 패배! 'n");
        }
    }
}

c#,在任意或随机的时间执行一个函数

您的问题很模糊。有许多可能的实现,这取决于实际想要的。最简单的IMHO就是等待:

private static Random random = new Random();
static void Main(string[] args)
{
   while (true) 
   {
       // from 10 seconds up to 1 day;
       int timeToWait = random.Next(10, 86400) * 1000; 
       Thread.Sleep(timeToWait);
       Alarm();
    } 
} 
static void Alarm() 
{
    Console.WriteLine("Alarm!");
}

您使用Random的方式不对。您应该在执行方法的循环外有一个Random r = new Random();,在循环内有一个k=r.Next();

具有相同种子的Random(seed)总是返回相同的值。你要么必须按照我上面说的去做,要么每次执行都修改种子,但为此,你需要一个随机值!。我建议您阅读随机参考:https://msdn.microsoft.com/en-us/library/system.random(v=vs.110).aspx