相关疑难解决方法(0)

是异步还是等待基于GUI的异步编程?

我一直在阅读C#中的新操作符asyncawait操作符,并试图找出它们可能对我有用的环境.我研究了几篇MSDN文章,这里是我在线之间阅读的内容:

您可以使用asyncWindows窗体和WPF事件处理程序,因此在执行大量操作时,它们可以执行冗长的任务而不会阻止UI线程.

async void button1_Click(object sender, EventArgs e)
{
    // even though this call takes a while, the UI thread will not block
    // while it is executing, therefore allowing further event handlers to
    // be invoked.
    await SomeLengthyOperationAsync();
}
Run Code Online (Sandbox Code Playgroud)

使用await必须的方法async,这意味着async在代码中某处使用任何函数最终会强制调用序列中的所有方法从UI事件处理程序到最低级别的async方法async.

换句话说,如果您创建一个带有普通旧旧ThreadStart入口点的线程(或者具有良好旧版本的Console应用程序static int Main(string[] args)),那么您将无法使用async,await因为您必须await使用它async,并使用它的方法,并且因此在调用方法中你还必须使用await并制作那个async,依此类推.但是一旦你到达线程入口点(或Main()),就没有await …

.net c# async-await

35
推荐指数
3
解决办法
9146
查看次数

标签 统计

.net ×1

async-await ×1

c# ×1