for和foreach的区别
答案:2 悬赏:20
解决时间 2021-02-11 02:08
- 提问者网友:傲气稳全场
- 2021-02-10 02:48
for和foreach的区别
最佳答案
- 二级知识专家网友:随心随缘不随便
- 2021-02-10 02:59
for和foreach有本质的区别
foreach的具体过程是由目标对象控制的
所以并非集合内容更改了就不可以使用foreach
而是Array和Collection对象如此实现了它而已
你却可以完全按照自己的想法去实现这一过程
也许你可以去翻一下Gof的Visitor模式,foreach看起来就是它的简化版本
我们应该把foreach当作一种设计模式而不是简单的一个循环语句去理解
目前C#里的foreach是以IEnumerable的方式去实现,这只是保留COM的实现方式,这种方式我认为其实不太便于理解
我想如果存在一个IForEachable其成员为ForEach(..),这样可能更能让人容易明白
foreach的具体过程是由目标对象控制的
所以并非集合内容更改了就不可以使用foreach
而是Array和Collection对象如此实现了它而已
你却可以完全按照自己的想法去实现这一过程
也许你可以去翻一下Gof的Visitor模式,foreach看起来就是它的简化版本
我们应该把foreach当作一种设计模式而不是简单的一个循环语句去理解
目前C#里的foreach是以IEnumerable的方式去实现,这只是保留COM的实现方式,这种方式我认为其实不太便于理解
我想如果存在一个IForEachable其成员为ForEach(..),这样可能更能让人容易明白
全部回答
- 1楼网友:陪衬角色
- 2021-02-10 03:20
您好,很高兴为您解答。
foreach的具体过程是由目标对象控制的
所以并非集合内容更改了就不可以使用foreach
而是array和collection对象如此实现了它而已
你却可以完全按照自己的想法去实现这一过程
也许你可以去翻一下gof的visitor模式,foreach看起来就是它的简化版本
我们应该把foreach当作一种设计模式而不是简单的一个循环语句去理解
目前c#里的foreach是以ienumerable的方式去实现,这只是保留com的实现方式,这种方式我认为其实不太便于理解
我想如果存在一个iforeachable其成员为foreach(..),这样可能更能让人容易明白
如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
希望我的回答对您有所帮助,望采纳!
~ o(∩_∩)o~
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |