for 和foreach分别用于什么场合?
7个回答
展开全部
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++的引用)。
参考资料来源:
展开全部
两者其实是两个语句, 不明白你为什么要将他们放在一起比较.
for 其实是一个循环语句, 按照一定的条件对某个变量进行迭代, 实现循环或枚举每个可能的值. 当一个集合对象(包括数据)支持使用索引访问内部的数据时, 用for可以遍历出每个数据(实际上是使用索引循环访问每个数据)
foreach 则是遍历专用的一个关键字, 要求对象实现了 IEnumerable 接口(即可遍历), 通过访问它的GetEnumerator()返回迭代器, 通过它来逐个遍历数据. foreach其实是一种语法糖, 就是说编译器在编译的时候会将其转换为对应的程序语句.
因此对于遍历来说, 没有固定的场合限制, 大部分情况下需要视情况而定. 比如你要遍历 Dictionary, 因为它不支持索引访问, 那么如果你需要遍历它, 就只能用foreach. 大部分情况下foreach优先使用, 因为使用for有限制, 而且会引入新的变量造成复杂化; 而有些时候又需要使用for, 比如你还需要用对应数据的索引做运算时. 因此, 用谁不应用谁, 是要看情况的, 灵活使用.
for 其实是一个循环语句, 按照一定的条件对某个变量进行迭代, 实现循环或枚举每个可能的值. 当一个集合对象(包括数据)支持使用索引访问内部的数据时, 用for可以遍历出每个数据(实际上是使用索引循环访问每个数据)
foreach 则是遍历专用的一个关键字, 要求对象实现了 IEnumerable 接口(即可遍历), 通过访问它的GetEnumerator()返回迭代器, 通过它来逐个遍历数据. foreach其实是一种语法糖, 就是说编译器在编译的时候会将其转换为对应的程序语句.
因此对于遍历来说, 没有固定的场合限制, 大部分情况下需要视情况而定. 比如你要遍历 Dictionary, 因为它不支持索引访问, 那么如果你需要遍历它, 就只能用foreach. 大部分情况下foreach优先使用, 因为使用for有限制, 而且会引入新的变量造成复杂化; 而有些时候又需要使用for, 比如你还需要用对应数据的索引做运算时. 因此, 用谁不应用谁, 是要看情况的, 灵活使用.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for任何情况下都能用,不管数组还是集合,但是前提是得知道元素个数才能遍历
foreach就不需要了知道总共多少个了,而且用起来方便,不用来回从数组或集合中提取对象,多数用于集合里对象的遍历和操作
foreach就不需要了知道总共多少个了,而且用起来方便,不用来回从数组或集合中提取对象,多数用于集合里对象的遍历和操作
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for
基本上每种语言都有,就不用我解释了吧
foreach是C#语言独有的(也许其他语言也有,仅限我懂的语言中),和for循环的功能是一样的,只是写起来比较简洁一些的
基本上每种语言都有,就不用我解释了吧
foreach是C#语言独有的(也许其他语言也有,仅限我懂的语言中),和for循环的功能是一样的,只是写起来比较简洁一些的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
foreach需要实现遍历接口
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询