为了账号安全,请及时绑定邮箱和手机立即绑定

C#中foreach语句的作用?

C#中foreach语句的作用?

回首忆惘然 2019-03-05 19:07:07
个人认为for完全可以替代foreach,foreach除了循环输出数组还有木有其他用处?
查看完整描述

4 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

int num[] = new int[]{2,3,4,5,6,7};
foreach(int item in num)
{
//一般的循环操作,这样的效率是比for要高得多,因为它是迭代循环
//PS:foreach适用场景:不能对集合num[]进行删除或者添加操作,否则会得不到期望的结果
}

for(int i=0;i<=num.Length;i++)
{
if(num[i]==5) //就删除集合num[]中的元素5
//这种对集合num[]进行的删除元素操作就是foreach不能代替的~~~
}

查看完整回答
反对 回复 2019-03-30
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

foreach就是遍历,和for的效果都一样,不存在楼主说的“完全替代”这样的说法,只是一个写法问题而已。
我个人感觉,其实foreach写起来比for轻松点。

查看完整回答
反对 回复 2019-03-30
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

我也认为foreach能实现的for都能实现,相反for能实现的foreach就未必能实现。早期的编程语言比如c,c++都没有foreach语句,它是在之后的发展出来的编程语言才出现的,比如C#、Java,说明了它既然存在必然有它存在的意义。时代在进步,思想也是,我觉得你不应该从for是不是能代替foreach这个角度看foreach语句,而是一个语句能解决什么问题的角度,我觉得本来foreach就相当于一种设计思想,针对集合这类数据进行遍历的情况,你用的时候,难道不觉得方便了许多,至于别的比如它们之间的区别,只是实现遍历条件上的差异而已。
foreach是针对集合类的遍历,比如泛型之类的也适用,不仅仅是针对数组

查看完整回答
反对 回复 2019-03-30
?
三国纷争

TA贡献1804条经验 获得超7个赞

循环都是可以相互代替的啊。
就像你while的语句,用for也完全可以写出来。
这里的foreach语句,看起来不是比for语句清晰很多么?也就是说的代码的美观程度,而且经过优化,现在foreach语句效率已经和for语句效率一样了。

查看完整回答
反对 回复 2019-03-30
  • 4 回答
  • 0 关注
  • 930 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信