c#是一种玩具语言

为什么这么说,

举个简单的例子,提问:对数组[1,2,3]求和有几种方法?

我能说出来的,四种。说出来,不是上网查出来。

for,foreach,sum,while。

for好像大家都不提倡,foreach举例的时候用到比较多,sum是牛逼哄哄的各路”老师“推荐最多的用法,为什么说”老师"要加引号,因为到现在为止没见到谁用sum的时候考虑集合为空的情况,而集合为空的时候sum会抛异常。

foreach呢,枚举,牛逼吧。。。现在我加一个条件,第二个数如果等于1要求退出循环,foreach怎么办?正确的写法是,先int 一个Index ,在循环体外面,循环体里递增,index==2的时候判断。定义在循环体外面! 我还能说什么?本身就没带来多少可读性的语法糖,简直是bug一样的存在。

foreach和yield联用能提供一种伪enumable,使非集合的变量提供一种伪集合的效果。等等,等等。这好像是框架应该做的事情吧,不是语言应该做的吧?这是任何需要的场合程序员都能自己做出来的效果吧?我定义个伪集合类和for联用不能达到这个效果吗?

好的,不重复发明轮子,好的。c#和基础类库加起来其实就是个开发框架,好的。

厉害,语言和框架本身是一体的。

那么请你把for移除出去,sum也移除出去吧。同样的逻辑,四种不同的写法,各自有各自的优缺点,这样还不算是重复发明轮子吗?能不能集中力量把foreach完善好,加一个类似于获取当前index的功能,或者把sum完善好,让它增加一个默认值。 现在维护的时候要同时记四套方案各自优缺点,何必呢?其实foreach sum提供的优化,跟真正的应用框架完全不能相比,企业级的应用在做框架的时候,肯定还得写自己的一大堆方法,就好比说我是鲁迅笔下的小伙计,我希望茴香豆的茴字,当然是只有一种写法最好最好,记账本来就是体力活,为什么还要在字体写法上增加复杂度,你奶奶的,会四种写法对除了孔乙己外其他人都么用。

类库是有不少,java也有啊?那种成功的语言没有类库?只要开发一次就有了,这些微软是做了,他不做,也一定会有人做。然后呢,网络请求多少种写法,webrequest,webclient,httpclient?其实变成字节流以后原理都差不多好不好?我现在要记你那么多方法才能维护好代码,我还不如直接放弃这种语言,找一种简单的语言,然后把原理搞清楚,有类库用类库,没有类库就自己写,对于资深程序而言那样更有积累性好不好?

从c#数组求和说起的更多相关文章

  1. js数组求和

    array1.reduce(callbackfn[, initialValue]) callback : 函数执行在数组中每个值 initialValue : 对象作为第一个参数回调的第一次调用使用 ...

  2. 《Intel汇编第5版》 数组求和

    一.LOOP指令 二.间接寻址 三.汇编数组求和 INCLUDE Irvine32.inc includelib Irvine32.lib includelib kernel32.lib includ ...

  3. Javascript数组求和的方法总结 以及由斐波那契数列得到的启发

    一次面试中,面试官要求用三种不同的Javascript方法进行一个数字数组的求和,当时思来想去只想到了使用循环这一种笨方法,因此面试比较失败,在这里总结了六种Javascript进行数组求和的方法,以 ...

  4. [java大数据面试] 2018年4月百度面试经过+三面算法题:给定一个数组,求和为定值的所有组合.

    给定一个数组,求和为定值的所有组合, 这道算法题在leetcode应该算是中等偏下难度, 对三到五年工作经验主要做业务开发的同学来说, 一般较难的也就是这种程度了. 简述经过: 不算hr面,总计四面, ...

  5. 个人项目-数组求和(语言:C++)

    prog1详细要求: [第一版本程序Prog1要求:] + 给定一个数组,实现数组元素求和:,具体要求:实现对一维数组(a[100])的所有元素相加运算. + 数据准备:a)数组长度:100:b)数组 ...

  6. 【原】C++11并行计算 — 数组求和

    本文转载请注明出处 -- polobymulberry-博客园 0x00 - 前言 最近想优化ORB-SLAM2,准备使用并行计算来提高其中ORB特征提取的速度.之前对并行计算方面一窍不通.借此机会, ...

  7. js 数组求和,多种方法,并比较性能

    可以借用下面12种方法对数组求和,创建一个长度为10w的数组,进行测试 every()       检测数值元素的每个元素是否都符合条件. filter()      检测数值元素,并返回符合条件所有 ...

  8. reduce实现数组求和

    对于实现数组求和,我们常用的思路是通过for.while,对数组进行迭代,依次将他们的值加起来,下面列举常用的两种方法 第一种: var arr = [1,2,3,4,5,6]; Array.prot ...

  9. Java并发和多线程2:3种方式实现数组求和

    本篇演示3个数组求和的例子. 例子1:单线程例子2:多线程,同步求和(如果没有计算完成,会阻塞)例子3:多线程,异步求和(先累加已经完成的计算结果) 例子1-代码 package cn.fansuni ...

  10. Java实现不遍历数组求和

    package com.jts.t1; /** * 不遍历数组求和 * 方法省略异常检查 */ public class Demo1 { public static void main(String[ ...

随机推荐

  1. VC++ 报错:Heap corruption detected

    今天在写代码时,发现莫名其妙的错误: std::string strName = L“testtest”; char* pOutString = new char(len + 1); Decrypt( ...

  2. 16 extern用法、常量字符串的应用

    extern声明多文件共享变量的方法总结一下: 1).在一个源文件中定义,在其他需要使用的源文件中用extern声明.(仅一处定义,多处extern) 2).在一个源文件中定义,在其对应的头文件中ex ...

  3. 申请和使用github共享代码

    1.申请github帐号 https://github.com/join?source=header-home 2.创建项目 2.1 或者: 2.2 输入信息 2.3创建成功,地址及基本命令提示 3. ...

  4. Python 字符串转换为字典(String to Dict)

    一.需求 为了处理从redis中拿到的value,如下 {"appId":"ct","crawlSts":false,"healt ...

  5. Java——IO类,字符缓冲区

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  6. python安装大型包时出现错误Unable to find vcvarsall.bat

    在windows平台上,据说是安装cpython编写的包时会出现Unable to find vcvarsall.bat这种错误,缺失编译C的环境或组件吧,所以这个包就安装不成功,这个时候简单的方法就 ...

  7. CentOS 7 Crontab

    Crontab默认每分钟读取 /etc/crontab 文件./etc/cron.d/目录和/var/spool/cron/目录一次,3者对应任务的建立格式是一致的,只是/var/spool/cron ...

  8. L1-034 点赞

    微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持.每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性.本题就要求你写个程序,通过统计一个人点赞的纪录,分析这个人的特 ...

  9. JAVA第5次作业

    将指定目录下的所有文件显示到列表框(JList)组件中,如下图所示: import java.awt.BorderLayout; import java.awt.Color; import java. ...

  10. ZooKeeper客户端原生API的使用以及ZkClient第三方API的使用

    这两部分内容的介绍主要讲的是节点及节点内容和子节点的操作,并且讲解的节点的事件监听以及ACL授权 ZooKeeper客户端原生API的使用 百度网盘地址: http://pan.baidu.com/s ...