核心归纳脑图


避免无意义的副本

如果提取的一个方法,目的是“传入一个值,然后加工计算后返回”,这是一个常见的行为;
传入的值如果是“值类型”,那是创建的副本,因为所以需要返回的时候再次赋值;
使用“out”修饰形参,这样传入的是该值的地址,避免创建副本,返回


尽量少的参数

开发中,会遇到给一个方法传的参数大于7个,虽然这样写的次数少,但我干过;
参数多,首先带来的是:
① vs中一行已经不够可见了,需要滚动条了;
② 记忆力捉襟见肘了,写代码的时候肯定要有啥,是啥;
③ 不好理解,尤其是别人分享或者再次Review的时候;
④ 不好Review;
⑤ 从第五章我们知道,在代码运行过程中,方法的执行会将参数压栈,参数多,压的多,毕竟是个负担;
ps:在我现在所在的开发组中规范是参数的个数<=5


《CLR via C#》读书笔记---09 参数相关推荐

  1. 大数据之路读书笔记-09阿里巴巴数据整合及管理体系

    大数据之路读书笔记-09阿里巴巴数据整合及管理体系 面对爆炸式增长的数据,如何建设高效的数据模型和体系,对这些数据进行有序和有结构地分类组织和存储,避免重复建设和数据不一致性,保证数据的规范性, 直是 ...

  2. .net框架读书笔记---引用参数(ref/out)

    接上一篇.net框架读书笔记---方法(类型造器) 默认情况下,CLR假设所有的方法参数都是按值传递参数的.当参数为引用类型的对象时,参数的传递是通过传递对象的引用(或)指针来完成的.这意味着方法可以 ...

  3. 《CLR via C#》读书笔记 之 参数

    第九章 参数 2013-02-27 9.3 以传引用的方式向方法传递参数 默认情况下,CLR假定所有方法参数都是传值的.当传递引用类型的对象时,也默认是传值的,只不过这个值是引用(指针)本身. CLR ...

  4. CLR via C# 读书笔记 1-2 创建线程的成本

    在clr中创建线程的代价还是比较高的 ,他需要两个部分 内存: 线程核心对象, 存放描述线程的一些内容和上下文 . (内存消耗:700B-2500B) 线程环境,存放例如异常处理链之类. (内存消耗 ...

  5. CLR Via CSharp读书笔记(14):字符、字符串和文本处理

    数字类型与字符相互转换的三种技术: Casting: 最优效率,因为编译器产生IL指令来执行转换.C#允许开发者指明checked或unchecked代码以执行转换. 使用System.Convert ...

  6. APUE读书笔记-09进程关系(04)

    转载于:https://blog.51cto.com/quietheart/786041

  7. lz0-007 读书笔记09

    Creating and Managing Tables 1.数据库对象 •Oracle数据库能够包含多种数据结构.  每一种结构应该在数据设计中描述,以使它能够在数据库开发阶段被创建 •常见的数据库 ...

  8. CLR Via CSharp读书笔记(26) - 计算限制的异步操作

    执行上下文: 执行上下文包括安全设置(压缩栈.Thread的Principal属性和Windows身份), 宿主设置(System.Threading.HostExecutionContextMana ...

  9. 全局描述符表(GDT)——《x86汇编语言:从实模式到保护模式》读书笔记09

    在进入保护模式之前,我们先要学习一些基础知识.今天我们看一下全局描述符表(Global Descriptor Table, 简称GDT). 同实模式一样,在保护模式下,对内存的访问仍然使用段地址加偏移 ...

最新文章

  1. 机器学习算法之K-近邻算法
  2. 模型加速--Slimmable neural networks
  3. Kettle使用_16 闭包Closure Generator树形数据
  4. CCNP-EIGRP不等价负载均衡
  5. 谷歌Android各版本的代号变迁
  6. 数据库平时错误和使用经验的总结
  7. iView 一周年了,同时发布了 2.0 正式版,但这只是开始...
  8. apache之mod_status mod_info即时监控模块
  9. opencv python 实现灰度图像和彩色图像直方图全局均衡化和自适应均衡化
  10. 30篇记录==一个月了~
  11. Bing翻译接口(V3版本)
  12. NOIP2017时间复杂度
  13. linux socket cups,Linux打印系统CUPS原理分析
  14. Manjaro 开发环境配置和使用技巧
  15. 计算机科学家与科学之路----2000年图灵奖得主美籍华人姚期智院士特邀报告
  16. 如何删除word空白页技巧汇总
  17. 错误笔记:JavaWeb:请求的资源[/$%7BpageContext.request.contextPath%7D/login]不可用
  18. 计算机网络 -- TCP/IP
  19. python跨表处理数据_python 利用panda 实现列联表(交叉表)
  20. js 根据日期的不同时间段,做问候语:中午好,下午好,早上好

热门文章

  1. 线性代数:特征值、特征多项式和特征向量
  2. 旧电脑 存储服务器 系统,爷爷级PC,用白菜价内存搭建内存硬盘操作系统,老系统飞起来。...
  3. fiddler抓苹果手机上app包的方法,解决https连接只抓到Tunnel to的问题
  4. android 寺库trytry_wpf 中使用 ttf
  5. 嵌入式linux的开发流程
  6. [ UICompatibilityInputViewController ] WillAppear 崩溃处理
  7. 【uni-app】Flex布局
  8. java实战——简单的媒体播放器
  9. 基于QT实现的多媒体播放器
  10. error: invalid application of 'sizeof' to an incomplete type 'JNINativeMethod []'