我们在写代码的时候经常在foreach循环里面通过return跳出整个函数,如下所示:

1:创建一个string列表,然后插入两条数据,“张三”和“李四”,通过foreach循环输出,当输出第一条数据“张三”后,执行return跳出函数,因此输出结果是:“张三”

为什么return 无法跳出 foreach (.net)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200530185855464.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pqcGRkMTAyMw==,size_16,color_FFFFFF,t_为什么return 无法跳出 foreach (.net)
2:同样是创建一个string列表,然后插入两条数据,“张三”和“李四”,通过foreach循环输出,当输出第一条数据“张三”后,执行return跳出函数,但是输出结果却是:“张三”和“李四”
为什么return 无法跳出 foreach (.net)
为什么return 无法跳出 foreach (.net)
3:这是为什么呢,同样是在foreach方法里面执行return,一个跳出了当前的循环,而另一个没有跳出,现在来揭秘.
原因:nameList.ForEach的参数是一个委托,所以传入的是一个方法,此方法内的return语句只是退出此方法。而不会跳出整个循环。就像正常调用一个方法一样,那个方法的退出,不会影响这个for循环。
为什么return 无法跳出 foreach (.net)
而 foreach (var name in nameList) 中的return则直接跳出了当前的Main函数,所以两种写法导致不同的结果。

相关文章:

  • 2022-12-23
  • 2021-06-26
  • 2022-12-23
  • 2021-12-02
  • 2021-06-28
  • 2021-06-23
  • 2021-12-02
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-23
  • 2021-06-09
  • 2021-04-10
  • 2022-12-23
相关资源
相似解决方案