2011-06-17 22 views
0

我有几种在Main方法中声明的方法。C# - 循环方法,并在它们之间放置延迟

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

static void Main(string[] args) 
     { 


      FileChanges(); 

      FolderChanges(); 

      OutputChanges(); 

     } 
+2

不确定为什么有人会将此视为“不是真正的问题”。这可能是基本的,但它确实是一个真正的问题,所以SO不会区分可以通过快速的谷歌搜索来回答的问题。 –

回答

2

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

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

     Thread.Sleep(10000); 
    } 
} 
+0

谢谢你,先生,你是一个青年男子 – Tom

2

System.Threading.Thread.Sleep

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

我想他想在OutputChanges()之后停下来;只有一次停顿。 –

+0

@Jamie:那么他可以移动那条线。我没有看到关于什么时候应该发生睡眠的问题的任何规范,只是它应该对每次迭代都这样做。你可能是对的,但我希望OP能改变他的目的。 –

1

你可以这样做:

static void Main(string[] args) 
{ 

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

} 
1
static void Main(string[] args) 
{ 
    int counter=0; 
    do{ 
     counter++; 
     FileChanges(); 
     FolderChanges(); 
     OutputChanges(); 
     Thread.Sleep(10000); 
    }while(counter<10) 
} 
1

我建议将其改为使用Timer代替。计时器每10秒钟可以打勾,此时您可以进行操作。