for 和foreach分别用于什么场合?

 我来答
小溪趣谈电子数码
高粉答主

2020-07-14 · 专注解答各类电子数码疑问
小溪趣谈电子数码
采纳数:2103 获赞数:584754

向TA提问 私信TA
展开全部

for语句在循环语句中有着重要的位置,首先它计算一个初始化序列,然后当某个条件为真时,重复执行嵌套语句并计算一个迭代表达式序列;如果为 False,则退出 for循环, for语句常用于遍历数组集合。

foreach循环专门用来遍历数组和集合的元素,foreach的工作原理是逐个枚举出数组或集合中的每一个元素,只要枚举一个元素就执行一次语句块中的内容,在使用 foreach变量循环的过程中要注意不可以更改遍历中的集合。

扩展资料:

在遍历集合或数组时,如果不使用 for语句,那么 foreach语句是比较好的选择。 foreach语句可以迅速遍历集合或数组,省去 for语句中设置循环起点和循环条件的过程。所以,遍历数组或集合应该优先考虑 foreach语句。

 foreach(int index,ref ival;arr){}第一个变量表示数组arr的索引 ival表示数组下标为index对应的值 加了ref关键字表示ival与数组的值相关联(ival改变 数组值也相应改变...类似于C++的引用)。

参考资料来源:

百度百科-foreach

百度百科-for循环

FantasyChump
2010-11-29 · TA获得超过3288个赞
知道大有可为答主
回答量:2127
采纳率:0%
帮助的人:2237万
展开全部
两者其实是两个语句, 不明白你为什么要将他们放在一起比较.

for 其实是一个循环语句, 按照一定的条件对某个变量进行迭代, 实现循环或枚举每个可能的值. 当一个集合对象(包括数据)支持使用索引访问内部的数据时, 用for可以遍历出每个数据(实际上是使用索引循环访问每个数据)
foreach 则是遍历专用的一个关键字, 要求对象实现了 IEnumerable 接口(即可遍历), 通过访问它的GetEnumerator()返回迭代器, 通过它来逐个遍历数据. foreach其实是一种语法糖, 就是说编译器在编译的时候会将其转换为对应的程序语句.

因此对于遍历来说, 没有固定的场合限制, 大部分情况下需要视情况而定. 比如你要遍历 Dictionary, 因为它不支持索引访问, 那么如果你需要遍历它, 就只能用foreach. 大部分情况下foreach优先使用, 因为使用for有限制, 而且会引入新的变量造成复杂化; 而有些时候又需要使用for, 比如你还需要用对应数据的索引做运算时. 因此, 用谁不应用谁, 是要看情况的, 灵活使用.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6eed2f8
推荐于2016-04-13 · TA获得超过5082个赞
知道大有可为答主
回答量:3423
采纳率:0%
帮助的人:3797万
展开全部
for任何情况下都能用,不管数组还是集合,但是前提是得知道元素个数才能遍历

foreach就不需要了知道总共多少个了,而且用起来方便,不用来回从数组或集合中提取对象,多数用于集合里对象的遍历和操作
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
枰魂尔晶来福5095
2010-11-29 · TA获得超过394个赞
知道答主
回答量:189
采纳率:0%
帮助的人:189万
展开全部
for
基本上每种语言都有,就不用我解释了吧
foreach是C#语言独有的(也许其他语言也有,仅限我懂的语言中),和for循环的功能是一样的,只是写起来比较简洁一些的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
海牙儿
2010-11-30 · 超过11用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:23.7万
展开全部
foreach需要实现遍历接口
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式