异步与等待怎么在c#中使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
异步和等待是代码标记,它标记代码位置为任务完成后控件应该恢复的位置。
下面让我们举几个例子来更好进行理解吧
c#中异步和等待关键字的示例
我们将采用控制台应用程序进行演示。
<强>第一个例子强>
在这个例子中,我们将采取两个不相互依赖的方法。
class 程序 {, static 才能;void Main (string [], args) ,{大敌; Method1 (); Method2 (); Console.ReadKey (); ,,}, , public 才能static async  Task Method1 () ,{大敌; await Task.Run((),=比; ,,,{, ,,,,,for (int 小姐:=,0;,小姐:& lt;, 100;,我+ +) ,,,,,{, Console.WriteLine (“, Method 1“),, ,,,,,}, ,,,}),, ,,}, , , public 才能static void  Method2 () ,{大敌; ,,,for (int 小姐:=,0;,小姐:& lt;, 25;,我+ +) ,,,{, Console.WriteLine (“, Method 2,),, ,,,}, ,,}, }
在上面给出的代码中,方法1和方法2不相互依赖,我们是从主方法调用的。
在这里,我们可以清楚地看的到,方法1和方法2并不是在等待对方完成。
输出
class 程序
{,
static 才能;void Main (string [], args)
,{大敌;
callMethod ();
Console.ReadKey ();
,,},
,
public 才能static async  void callMethod ()
,{大敌;
Task 在上面给出的代码中,方法3需要一个参数,即方法1的返回类型。在这里,等待关键字对于等待方法1任务的完成起着至关重要的作用。 输出 class 程序
{,
static 才能;void Main ()
,{大敌;
Task Task =, new 任务(CallMethod);
task.Start ();
task.Wait ();
Console.ReadLine ();
,,},
,
static 才能async void  CallMethod ()
,{大敌;
,,,string filePath =,“E: \ \ sampleFile.txt",,
Task异步与等待怎么在c#中使用