2017-10-18 35 views
-2

從C#果殼我們是否需要調用異步方法與調用普通方法不同?

調用異步方法,而不等待它允許如下並行執行的代碼。你可能會在早期 例子,我們有一個按鈕,其事件處理程序名爲Go的 如下注意到:

async Task Go() 
{ 
    var task = PrintAnswerToLife(); 
    await task; Console.WriteLine ("Done"); 
} 

_button.Click += (sender, args) => Go(); 

儘管圍棋是一個異步方法,我們沒有等待它, 而這確實是方便 需要併發性來維護響應式用戶界面。

「等待調用異步方法」是什麼感覺?

是否正在調用一個異步方法,等待它與調用普通方法不同?如果是,如何?謝謝。

+1

_「我們需要從調用一個普通的方法調用不同的方法asynchrnous?」 _ - 沒有。它們就像任何其他方法一樣。您可以使用方法調用語法來調用它們,方法是使用括號,並且包含括號內所需的任何參數,就像調用任何方法一樣。坦率地說,你的問題根本不明確。你認爲什麼「不同」?關於'async'方法的無數可用的例子,它沒有給你任何你要求的信息,這是什麼? –

+0

謝謝。澄清。 – Ben

+0

[如何以及何時使用'async'和'await']的可能重複(https://stackoverflow.com/questions/14455293/how-and-when-to-use-async-and-await) –

回答

1

要叫它asynchronously,你可以這樣做:

_button.Click += async(sender, args) => await Go();