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& ...
随机推荐
- 动态 SQL
MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦.拼接的时候要确保不能忘了必要的空格,还要注意省掉 ...
- E asy Boo t 6.51 启动易 制作启动光盘的软件(附注册码)
内建ISO文件生成器,可直接生成可启动ISO文件,并支持N合1优化. -------中文版注册码------- 用户名:中华人民共和国 注册码:2898-5448-5603-BB2D -------英 ...
- 【剑指offer 面试题21】包含min函数的栈
思路: 通过增加一个辅助栈保存每个状态对应的最小值.栈实现的不完整,应该还包含empty()等常规函数. #include <iostream> #include <stack> ...
- [LeetCode] Container With Most Water 简要分析
前言 这题非要说贪心的话也算是吧,不过最主要的特征还是双指针.LC的题好像不少都是扔倆头尾指针然后遍历一遍完事儿的.这道题倒是“短板效应”的不错体现了. 题目 题目链接 Given n non-neg ...
- 转储oracle的redo文件
1.确定当前使用的redo文件 SQL> select member from v$logfile where group# = ( select group# from v$log where ...
- 二分+最短路 uvalive 3270 Simplified GSM Network(推荐)
// 二分+最短路 uvalive 3270 Simplified GSM Network(推荐) // 题意:已知B(1≤B≤50)个信号站和C(1≤C≤50)座城市的坐标,坐标的绝对值不大于100 ...
- JAVA中的数据结构——集合类(线性表:Vector、Stack、LinkedList、set接口;键值对:Hashtable、Map接口<HashMap类、TreeMap类>)
Java的集合可以分为两种,第一种是以数组为代表的线性表,基类是Collection:第二种是以Hashtable为代表的键值对. ... 线性表,基类是Collection: 数组类: person ...
- The First Pig Task
The First Pig Program 环境: Hadoop-1.1.2 pig-0.11.1 linux系统为CentOS6.4 jdk1.6 在伪分布 ...
- c++ Map使用
引入头文件: #include <map>1.初始化map<int, int> a, b;map<sting, int> a, b;2.添加数据 map<in ...
- ubuntu使用问题与解决记录[持续更新]
1. 添加到计划任务 为脚本增加可执行权限 sudo chmod +x yeelink.sh 将脚本加入cronjob(计划任务) sudo crontab -e 在cornjob文件中添加下面一行, ...