等待foreach怎么在c# 8.0中使用

  介绍

今天就跟大家聊聊有关等待foreach怎么在c# 8.0中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

static  int  SumFromOneToCount (int 计数)   ,,,{   ,,,,,ConsoleExt.WriteLine (“SumFromOneToCount 叫做!“);      ,,,,,var  sum =, 0;   ,,,,,for  (var 小姐:=,0;,小姐:& lt;=,计数;,我+ +)   ,,,,,{   ,,,,,,,sum =, sum  +,我;   ,,,,,}   ,,,,,return 总和;   ,,,}

调用方法。

static  void  Main (string [], args)   ,,,{   ,,,,,const  int  count =, 5;   ,,,,,ConsoleExt.WriteLine(美元“Starting 从而application  with 数:,{数}!“);   ,,,,,ConsoleExt.WriteLine (“Classic  sum 开始!”);   ,,,,,ConsoleExt.WriteLine(美元“Classic  sum 结果:,{SumFromOneToCount (count)}“);   ,,,,,ConsoleExt.WriteLine (“Classic  sum 完成了!”);   ,,,,,ConsoleExt.WriteLine (“# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #“);   ,,,}

输出结果。

等待foreach怎么在c# 8.0中使用“> </p> <p>可以看的到,整个过程就一个线程Id为1的线程自上而下执行,这是最基础的做法。</p> <p> <>强收益率回归</强> </p> <p>接下来,我们使用收益率运算符使得这个方法编程延迟加载,如下所示。<br/> </p> <pre类= static  IEnumerable, SumFromOneToCountYield (int 计数)   ,,,{   ,,,,,ConsoleExt.WriteLine (“SumFromOneToCountYield 叫做!“);      ,,,,,var  sum =, 0;   ,,,,,for  (var 小姐:=,0;,小姐:& lt;=,计数;,我+ +)   ,,,,,{   ,,,,,,,sum =, sum  +,我;      ,,,,,,,油品收率return 总和;   ,,,,,}   ,,,}

主函数

static  void  Main (string [], args)   ,,,{   ,,,,,const  int  count =, 5;   ,,,,,ConsoleExt.WriteLine (“Sum  with 油品收率开始!”);   ,,,,,foreach  (var 小姐:拷贝SumFromOneToCountYield(计数)   ,,,,,{   ,,,,,,,ConsoleExt.WriteLine(美元“油品收率和:{我}“);   ,,,,,}   ,,,,,ConsoleExt.WriteLine (“Sum  with 油品收率完成!”);      ,,,,,ConsoleExt.WriteLine (“# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #“);   ,,,,,ConsoleExt.WriteLine (Environment.NewLine);   ,,,}

运行结果如下。

等待foreach怎么在c# 8.0中使用“> </p> <p>正如你在输出窗口中看到的那样,结果被分成几个部分返回,而不是作为一个值返回。以上显示的累积结果被称为惰性枚举。但是,仍然存在一个问题,即方总和法阻塞了代码的执行。如果你查看线程ID,可以看到所有东西都在主线程1中运行,这显然不完美,继续改造。</p> <p> <强>异步返回</强> </p> <p>我们试着将异步用于SumFromOneToCount方法(没有产量关键字)。<br/> </p> <pre类= static  async  Task, SumFromOneToCountAsync (int 计数)   ,,,{   ,,,,,ConsoleExt.WriteLine (“SumFromOneToCountAsync 叫做!“);      ,,,,,var  result =, await  Task.Run((),=比;   ,,,,,{   ,,,,,,,var  sum =, 0;      ,,,,,,,for  (var 小姐:=,0;,小姐:& lt;=,计数;,我+ +)   ,,,,,,,{   ,,,,,,,,,sum =, sum  +,我;   ,,,,,,,}   ,,,,,,,return 总和;   ,,,,,});      ,,,,,return 结果;   ,,,}

主函数。

static  async  Task  Main (string [], args)   ,,,{   ,,,,,const  int  count =, 5;   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

等待foreach怎么在c# 8.0中使用