【问题标题】:C# - Looping methods and putting delays inbetween themC# - 循环方法并在它们之间放置延迟
【发布时间】:2011-06-17 17:54:13
【问题描述】:

我有几个在 Main 方法中声明的方法。

虽然我怎么能放一个循环,所以在这种情况下,OutputChanges() 会循环到 FileChanges()。是否可以在循环之间设置 10 秒的中断/间隔?

 static void Main(string[] args)
        {


            FileChanges();

            FolderChanges();

            OutputChanges();

        }

【问题讨论】:

  • 不确定为什么有人会将其关闭为“不是一个真正的问题”。它可能是基本的,但它肯定是一个真实的问题,并且 SO 不会歧视可以通过快速谷歌搜索回答的问题。

标签: c# .net windows loops methods


【解决方案1】:

您没有提到要循环多少次...所以我将使用无限循环(使用Thread.Sleep() 在两次迭代之间暂停执行 10 秒):

static void Main(string[] args)
{
    while(true)
    {
        FileChanges();
        FolderChanges();
        OutputChanges();

        Thread.Sleep(10000);
    }
}

【讨论】:

  • 谢谢您,先生,您是男性中的学者
【解决方案2】:

System.Threading.Thread.Sleep

static void Main(string[] args)
{
    while( true )
    {
        FileChanges();
        FolderChanges();
        OutputChanges();
        Thread.Sleep( 10000 );
    }
}

【讨论】:

  • 我认为他想在 OutputChanges(); 之后暂停并且只有一个暂停。
  • @Jamie:那么他可以移动那条线。我在问题中没有看到关于何时应该发生睡眠的任何规范,只是它应该为每次迭代都这样做。您可能是对的,但我希望 OP 可以根据他的目的更改示例。
【解决方案3】:

你可以这样做:

static void Main(string[] args)
{

  while(true)
  {
     FileChanges();
     FolderChanges();
     OutputChanges();
     Thread.Sleep(10000);
  }

}

【讨论】:

    【解决方案4】:
    static void Main(string[] args)
    {
        int counter=0;
        do{
            counter++;
            FileChanges();
            FolderChanges();
            OutputChanges();
            Thread.Sleep(10000);
        }while(counter<10)
    }
    

    【讨论】:

      【解决方案5】:

      我建议改用Timer。计时器可以每 10 秒计时一次,此时您可以进行操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-02
        • 2020-04-11
        • 2015-05-20
        • 1970-01-01
        • 2022-10-18
        • 2015-01-14
        • 2022-12-02
        • 1970-01-01
        相关资源
        最近更新 更多