C# for while foreach 循环 问题。

jinshanxia 2009-06-25 05:17:33
C#中有那几种方式可以代替循环,通常在不影响性能的情况下,程序最多可循环多少次,
循环数量过多影响了性能,应该处理,补救对性能的影响,如何避免程序出现多次循环。
...全文
136 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
SQL77 2009-06-25
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 kingdomgps 的回复:]
其实我觉得这个很奇怪,为什么不要循环呢?
循环语句在il里也就是多了一条跳转指令,能影响多少性能呢?

替代循环不是解决问题的办法,也没有统一的规则和方法
只能具体问题具体分析

比如说能用foreach的地方就不用其他语句

多从算法上去优化,比你去考虑写个循环语句会浪费多少系统资源划得来得多
[/Quote]
呵呵UP
jinshanxia 2009-06-25
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 kingdomgps 的回复:]
其实我觉得这个很奇怪,为什么不要循环呢?
循环语句在il里也就是多了一条跳转指令,能影响多少性能呢?

替代循环不是解决问题的办法,也没有统一的规则和方法
只能具体问题具体分析

比如说能用foreach的地方就不用其他语句

多从算法上去优化,比你去考虑写个循环语句会浪费多少系统资源划得来得多
[/Quote]

有道理,谢谢。
注册失败 2009-06-25
  • 打赏
  • 举报
回复
其实我觉得这个很奇怪,为什么不要循环呢?
循环语句在il里也就是多了一条跳转指令,能影响多少性能呢?

替代循环不是解决问题的办法,也没有统一的规则和方法
只能具体问题具体分析

比如说能用foreach的地方就不用其他语句

多从算法上去优化,比你去考虑写个循环语句会浪费多少系统资源划得来得多
MOmo400 2009-06-25
  • 打赏
  • 举报
回复
JF
冷月孤峰 2009-06-25
  • 打赏
  • 举报
回复
1、避免死循环,这事最基本的
2、能用foreach的尽量用foreach
3、循环过程中最好不用嵌入对数据库的操作
4、循环过程中,当条件满载时最好break

大概想到这么多
jinshanxia 2009-06-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cuthkid 的回复:]
按照我现在的理解,正确的循环(死循环不算)其实耗费的系统资源很少
真正耗费资源的应该是对DB的访问,和一些特效的实现。
通常不提倡写过的循环是因为这样代码的可读性很差,再一个就是循环套循环很容易出逻辑上的错误;
这个时候就要看是不是真的需要用循环做,实在避免不了,就要+约束条件,将不必要的数据去除,
想了想,还真是没有什么明确的方法来避免出现循环,只能说,下手前多思考下吧:)
C#中的循环,FORE…
[/Quote]

你说的很精彩,一看就知道是经验总结出来的,谢谢,有实用性。
himoggy 2009-06-25
  • 打赏
  • 举报
回复
性能上考虑
直接foreach集合要比foreach集合的IEnumerable快的多
for循环比foreach要快的多
嵌套循环不要太多
foreach 语句用于循环访问集合,但不能用于在源集合中添加或移除项
jinshanxia 2009-06-25
  • 打赏
  • 举报
回复

你说的很精彩,谢谢,有实用性。
dean615 2009-06-25
  • 打赏
  • 举报
回复
按照我现在的理解,正确的循环(死循环不算)其实耗费的系统资源很少
真正耗费资源的应该是对DB的访问,和一些特效的实现。
通常不提倡写过的循环是因为这样代码的可读性很差,再一个就是循环套循环很容易出逻辑上的错误;
这个时候就要看是不是真的需要用循环做,实在避免不了,就要+约束条件,将不必要的数据去除,
想了想,还真是没有什么明确的方法来避免出现循环,只能说,下手前多思考下吧:)
C#中的循环,FOREACH因该是性能最好的了(一大特点)
经验不足,只能说这么多了,希望有帮助:)
jinshanxia 2009-06-25
  • 打赏
  • 举报
回复
其他的没想过,不知道,语言都是互相抄袭的,一个回了,其他的思想也就懂了,
yi10000 2009-06-25
  • 打赏
  • 举报
回复
函数嵌套可以,性能可以
youbeifang 2009-06-25
  • 打赏
  • 举报
回复
能用foreach 就不要for
注册失败 2009-06-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 jinshanxia 的帖子:]
C#中有那几种方式可以代替循环,通常在不影响性能的情况下,程序最多可循环多少次,
循环数量过多影响了性能,应该处理,补救对性能的影响,如何避免程序出现多次循环。
[/Quote]

反问楼主下:其他语言中有几种方式代替循环?

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧