2011-06-17 38 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秒鐘可以打勾,此時您可以進行操作。