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& ...
随机推荐
- TCP/IP详解学习笔记(14)-TCP连接的未来和性能(未写完)
在TCP刚出世的时候,其主要工作环境是以太网和SLIP之类的低速网络.随着高速网络的出现,让TCP协议的吞吐量更大,效率更高的要求就愈来愈迫切.为此,TCP增加了三个重要机制来对应现在的变化,他们是 ...
- android 滑动菜单SlidingMenu的实现
首先我们看下面视图: 这种效果大家都不陌生,网上好多都说是仿人人网的,估计人家牛逼出来的早吧,我也参考了一一些例子,实现起来有三种方法,我下面简单介绍下: 方法一:其实就是对Gesture ...
- Delphi word编辑
private void but_Table_Click(object sender, EventArgs e) { object Nothing = System.Reflection.Missin ...
- 使用std::function 把类成员函数指针转换为普通函数指针
前言 这是改造前一篇 设计模式 的基础,使通知者不必知道观察者的类名和函数名,只需要知道更新函数的原型即可. 开发环境:WIN7 32位 + VS2010 发现在VS2005中使用std::funti ...
- 关于jQuery中,animate、slide、fade等动画的连续触发、滞后反复执行的bug的个人解决办法
照例,现在开头讲个这个问题发生的背景吧: 因为最近要做个操作选项的呼出,然后就想到了用默认隐藏,鼠标划过的时候显示的方法. 刚开始打算添加一个class="active",直接触发 ...
- andriod的简单用法1
1.从一个Activity跳转到另一个Activity,使用Intent. 在按钮的onClick中如下写法: public void Login(View view) { Intent intent ...
- mybatis系列-06-输入映射
通过parameterType指定输入参数的类型,类型可以是简单类型.hashmap.pojo的包装类型 6.1 传递pojo的包装对象 6.1.1 需求 完成用户信息的综合查询,需要 ...
- well-posed problem and ill-posed problem
well-posed problem must have the property that A solution exists The solution is unique The solution ...
- Hibernate逆向工程
MySQL Administrator 创建表 MyEclipse Database Explorer视图: 1. New 2 .Driver template: MySQL Connector ...
- AS3 条件编译
转:http://www.lite3.cn/blog/?p=404&cpage=1 知道C/C++ 有条件编译,一直想着AS要是也有条件编译就好了,今天搜了半天Google,终于让我找到了 下 ...