【C#】干掉for循环
在C系列语言中 for循环扮演着重要的角色 很难想象 一百行C代码里面没有一个for循环(我有个朋友 写了个几千行的算法 没有用的for循环 我当时很惊讶) 就好比 一百行中文里面 没有一个 的 可见 for循环是代码的基本构造块 由于for循环 一般是用来 对一串类型相同的对象进行操作的 从侧面可以看出 它经常伴随着 数组 而来的 用比较通俗的话说 for循环 与 数组 是黄金搭档
在里面 引进了foreach循环 它与for循环本质是相同的 由于在foreach循环中 省去了指标i(常常 只用来取第i个项 别无他用) 很多人欣然接受了foreach循环 毕竟没有夺走for循环 它还在!
编程语言一直在进化 先后经历了 语言 过程式语言 面向对象语言 总体来说 越来越高级 越来越抽象 当代程序员可以不知道是啥就可以编程 调用一个sort方法就排序了 不知道用的是 冒泡 还是 快速 排序算法(外国人都帮我们弄好了!每当认识到 差距超过 年 这个事实 我都 好了 不想伤心事了!)
在C# 中 引进了Extension Methods 伴随而来的是一个新玩意儿Linq 用实用工具Reflector exe打开System Core dll中的 System Linq命名空间 有个Enumerable静态类 其中有大量的对 数组 操作的扩展方法(你能想到的基本都有 不信就去看看!)
对于用惯了for循环的朋友 如果要他/她停止使用 肯定会觉得日子没法过了 放心好了 我不会劝他/她停止使用的 就像戒烟一样 都是自己的事 (又一次跑题 言归正传!)
下面我用代码来演示 如何用 扩展方法/Linq 来干掉 for循环
注 对于嵌套的for循环 就用SelectMany!
声明 for循环很好 你可以继续用 如果你想用的话 如果你喜欢尝试新东西 我想告诉你: 这也许是应该的!
附录 乘法口诀
x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x =
附录 完整代码
代码
lishixinzhi/Article/program/net/201311/12625