2017-10-18 84 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();