社区
C#
帖子详情
C#使用foreach相对于for有什么优势吗?
chenwei9120
2010-05-02 07:55:23
不知道相对于for来说,foreach有什么优势?
...全文
839
65
打赏
收藏
C#使用foreach相对于for有什么优势吗?
不知道相对于for来说,foreach有什么优势?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
65 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
岳丰源
2010-12-22
打赏
举报
回复
Java中foreach是引入泛型后出来引进来的
cjh200102
2010-10-13
打赏
举报
回复
楼上说得都不错
xk1126
2010-05-11
打赏
举报
回复
foreach只读,for可写的!我觉得这是它们最主要的区别.
foreach最主要的优势是不需要知道集合内的元素个数,可以很方便的遍历每个元素.
我个人比较喜欢用foreach
缪军
2010-05-11
打赏
举报
回复
囸,越说越离谱,服了
wangwenzhuang
2010-05-11
打赏
举报
回复
foreach只可以遍历,不可以在遍历的同时修改集合的元素,for遍历可读可写可删
for比foreach性能要好
但是foreach相对for使用更方便简洁
lh1611
2010-05-11
打赏
举报
回复
foreach 不需要关心数组的大小;在for里面要 循环初始化,循环条件和循环参数调整。
lh1611
2010-05-11
打赏
举报
回复
foreach 不需要关心数组的大小;在for里面要 循环初始化,循环条件和循环参数调整。
lh1611
2010-05-11
打赏
举报
回复
foreach 不需要关心数组的大小;在for里面要 循环初始化,循环条件和循环参数调整。
garfieldzf
2010-05-11
打赏
举报
回复
[Quote=引用 5 楼 mngzilin 的回复:]
看下链表的相关知识,你就明白了。
[/Quote]
多个知识点该学了
army369168520
2010-05-11
打赏
举报
回复
public void bianliArray()
{
double[] doubleArr = new double[10] { 1,2,3,4,5,6,7,8,9,10};
foreach (double data in doubleArr) //使用循环遍历
{
Response.Write(data.ToString());
}
IEnumerator<double> enumber = (IEnumerator<double>)doubleArr.GetEnumerator(); //使用IEnumerator
while (enumber.MoveNext())
{
Response.Write(enumber.Current.ToString());
}
多写一个例子,学习我喜欢多练
army369168520
2010-05-11
打赏
举报
回复
for 你先要给初值,末值和步长
foreach 不需要事先给定初值,末值和步长,他是自动遍历给定的集合体的所有值
string[] a=new string[]{"a","b"}
for(i=0;i<a.length;i++)
{
Response.write(a[i].ToString());
}
foreach(string b in a)
{
Response.write(b);
}
Rotel-刘志东
2010-05-11
打赏
举报
回复
foreach比较简洁了。
Joe-xXx
2010-05-11
打赏
举报
回复
互用特点,如果你知道更多的详细信息~Google foreach与for
丛晓男
2010-05-11
打赏
举报
回复
如果你把总人口看成一个集合,每次遍历,有人去世,有人出生,动态的删除和添加,至少C#提供的foreach是不行的
fangcheng96
2010-05-11
打赏
举报
回复
纠结这些有P的意思
丛晓男
2010-05-11
打赏
举报
回复
楼上几位所说的foreach只读,应该是说对于集合元素的增减而言,不是集合内元素属性的修改
丛晓男
2010-05-11
打赏
举报
回复
如果你在遍历集合的时候,还要去删除集合中的某些元素,或者增加一些要素的话,C#的foreach就不能正确运行,此时每当有增删行为时,就要确定集合的边界,也就只能用for循环。
ProjectDD
2010-05-11
打赏
举报
回复
[Quote=引用 45 楼 projectdd 的回复:]
foreach 的遍历对象 不论是数组也好还是 链表等也好,它的这些对象 不需要占用内存的
foreach 可以用yield return封装一个循环,从代码效率来说 foreach 更简单,从运行效率来说
for更低层
[/Quote]
更正下,不是说数组不占内存是说 返回IEnumerable<T>
可以
不占用,
例如:
IEnumerable<string> get(){
yield return "aaa";
yield return "bbb";
yield return "ccc";
yield return "ddd";
}
void Test(){
foreach(var item in this.get()){
...
}
}
gbb21
2010-05-11
打赏
举报
回复
[Quote=引用 37 楼 microtry 的回复:]
我只是觉得楼上的好几位说的理由很搞笑:
3、恕我水平有限,第一回听说forea……
[/Quote]
haha
spmzfz
2010-05-11
打赏
举报
回复
foreach 不需要关心数组的大小;在for里面要 循环初始化,循环条件和循环参数调整。
加载更多回复(44)
C#
中
foreach
循环对比for循环的
优势
和劣势
C#
支持
foreach
关键字,
foreach
在处理集合和数组
相
对于for存在以下几个
优势
: 1、
foreach
语句简洁 2、效率比for要高(
C#
是强类型检查,for循环对于数组访问的时候,要对索引的有效值进行检查) 3、不用关心数组的起始索引是...
c#
学习笔记.txt
看完了前面几段,我的朋友提出了不同的意见:
C#
不是Java的Clone,它只是长得有些像Java而已,其实面向对象、中间语言什么的也不是什么新玩意儿,非Sun独创,有文为证:华山论剑:C#对Java。另外他对我上一集中说...
Spring.net框架
除此之外,对于单继承的
C#
语言而言,
使用
接口可以拥有更大 的弹性。 二、接口依赖 既然类之间的依赖导致耦合过于紧密,按照《设计模式》的理论,我们要依赖于接口。但是人们往往发现,仅仅依赖于接口似乎并不能完全...
C#
foreach
循环较for循环的
优势
与劣势
C#
支持
foreach
关键字,
foreach
在处理集合和数组
相
对于for存在以下几个
优势
: 1、
foreach
语句简洁 2、效率比for要高(
C#
是强类型检查,for循环对于数组访问的时候,要对索引的有效值进行检查) 3、不用关心数组的起始...
c语言 for each循环,
C#
中
foreach
循环对比for循环的
优势
和劣势
前言循环语句为众多程序员们提供了很大的便利,有while、do...while、for和
foreach
。而且
foreach
语句很简洁,但是它的优点不...一、
foreach
循环的
优势
C#
支持
foreach
关键字,
foreach
在处理集合和数组
相
对于for存在以...
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章