C#小常识集锦(一)--《更锋利的CSharp代码》读书笔记
❀、采用类似匈牙利命名法为控件命令,对于其他变量申明则不需要了
e.g. Button btnAdd;
e.g. TextBox txtUsername;
e.g. ListBox lstFileNames;
e.g. Panel panelInfo;
❀、对于函数参数、局部变量、私有及受保护字段的命名采用Camel规则(首字母小写),其他的情况如命名空间、结构、类、接口、枚举、枚举项、属性、方法、事件、委托及公开的字段等都采用Pascal规则(首字母大写)
❀、多使用XML文档注释,它与VS开发环境的代码智能感知系统的结合很好
❀、使用‘@’避免换码序列
e.g. string Path = @'D:\';
❀、使用string.Empty表示空字符串,而不再使用两个相连的引号表示空字符串
e.g. if(path == string.Empty)
❀、使用string.IsNullOrEmpty方法测试null或空字符串
e.g. if(!string.IsNullOrEmpty(str)){...}
❀、StringBuilder可以大幅度提高字符串的处理性能,当需要对字符串进行频繁操作时,以其是位于循环内部时,使用StringBuilder要比使用String效率高很多。
❀、初始化一切变量,可以将引用类型初始化为null,数值类型初始化为0等
e.g. private Image image = null;
❀、什么时候使用枚举?
·除非能确定永远不会出现两种以上的值,否则不要使用布尔类型,而使用枚举。
·使用枚举类型参数的代码会比bool类型更具有自我描述性。
·如果我们关心的是数值,那么应当使用命名常量,而非枚举。
e.g. public const int DaysInSmallMonth = 30;
public const int DaysInBigMonth = 31;
❀、不要使用魔数(幻数)
===================================>
未完,在读书过程中不断更新
C#小常识集锦(一)--《更锋利的CSharp代码》读书笔记的更多相关文章
- 迭代器———更锋利的C#代码小记(3)
直接使用yield return关键字通过类似返回值的方式灵活地构造迭代器 public class EmployeeCollection :IEnumerable<Employee> { ...
- 释放资源的一般范式——更锋利的C#代码小记
public class Photo : IDisposable { //在Finalize函数中调用内部的Dispose方法 ~Photo() { //被自动回收时仅释放托管资源,不释放非托管资源 ...
- 可变类型的安全性——更锋利的C#代码小记(2)
ReadOnlyCollection类型是.NET系统类库提供的一个只读集合类型,它与原来的List<string>不存在任何类型转换关系,因此可以从根本上阻止外部对其的修改操作using ...
- 《锋利的jQruery》读书笔记
由于是一边看书一边练习,所以干把笔记写在html文档中.想看的同学可以复制到一个html文档中,结合浏览器查看.不得不说<锋利的jQuery>是本好书,建议好好看看.尊重知识产权,请购买正 ...
- 让我们一起写出更有效的CSharp代码吧,少年们!
周末空闲,选读了一下一本很不错的C#语言使用的书,特此记载下便于对项目代码进行重构和优化时查看. Standing On Shoulders of Giants,附上思维导图,其中标记的颜色越深表示在 ...
- 《锋利的jQuery》读书笔记
jQuery理念:write less, do more! 第 一 章一:jQuery简介 a:轻量级 b:强大选择器 c:DOM封装 d:ajax封装 e:不污染顶级变量 只建立一个jQuery对象 ...
- 《锋利的jQuery》读书笔记(DOM+事件)
前阵子买了一批书,就从锋利的jQuery看起吧,书中一些太过常规以及没有强记必要性的操作就不记录了. 1.DOM加载后执行JS $(document).ready(function(){ //.... ...
- 【锋利的Jquery】读书笔记十一
项目进度太赶,天天公司加班12小时,没时间看书充电.2016年再更新一篇吧.现在凌晨2点36分. 2017加油哦 jquery合适的选择器 $("#id") 无疑是最佳提高性能的方 ...
- 【锋利的Jquery】读书笔记七
第七章 jquery插件 管理cookie的插件--cookie jquery插件太多没什么好讲的,百度太多 说以下 cookie插件 <!DOCTYPE html> <html& ...
随机推荐
- Android中FragmentPagerAdapter对Fragment的缓存(二)
上一篇我们谈到了,当应用程序恢复时,由于FragmentPagerAdapter对Fragment进行了缓存的读取,导致其并未使用在Activity中新创建的Fragment实例.今天我们来看如何解决 ...
- View.VISIBLE、INVISIBLE、GONE的区别
android中UI应用的开发中经常会使用view.setVisibility()来设置控件的可见性,其中该函数有3个可选值,他们有着不同的含义: View.VISIBLE--->可见View. ...
- Devexpress GridControl中combobox级联显示 z
http://minmin86121.blog.163.com/blog/static/4968115720143163533356/ 在 使用GridControl时,可能会有需求要求某2列显示co ...
- c++与java的优缺点
大多数程序员都认为C/C++会比Java语言快,甚至于觉得从Java语言诞生以来,"执行速度缓慢"的帽子就应当被扣在头顶,这种观点的出现是由于Java刚出现的时候JIT编译技术 ...
- 【C++对象模型】构造函数语意学之一 默认构造函数
默认构造函数,如果程序员没有为类定义构造函数,那么编译器会在[需要的时候]为类合成一个构造函数,而[需要的时候]分为程序员需要的时候和编译器需要的时候,程序员需要的时候应该由程序员来做工作,编译器需要 ...
- 五指CMS 3.0 手动升级方法
- mybatis系列-06-输入映射
通过parameterType指定输入参数的类型,类型可以是简单类型.hashmap.pojo的包装类型 6.1 传递pojo的包装对象 6.1.1 需求 完成用户信息的综合查询,需要 ...
- 最简单例子图解JVM内存分配和回收
一.简介 JVM采用分代垃圾回收.在JVM的内存空间中把堆空间分为年老代和年轻代.将大量(据说是90%以上)创建了没多久就会消亡的对象存储在年轻代,而年老代中存放生命周期长久的实例对象.年轻代中又被分 ...
- Java 简繁转换 ZHConverter
Sample import com.spreada.utils.chinese.ZHConverter; public class Test{ public static void main(Stri ...
- 将android Settings 源码 导入到 eclipse工程
1. 新建 android 项目 拷贝源码/packages/apps/Settings到你的其它目录. 在eclipse中,新建项目,但是要从exitting source选择: 2. 导入相关的 ...