《构建高质量的C#代码》学习笔记

来源:互联网 发布:steam mac 存档 编辑:程序博客网 时间:2024/06/07 01:48

这本书看完有一段时间了,和大家分享一下个人认为比较好的知识点
1 无论是基础代码还是代码结构,要想在开发时就能达到很高的质量的可能性并不大
2 在软件开发中,代码和架构的改进过程,也就是重构的过程,需要我们队每一条语句或语句结构、算法、架构进行逐步的改进和优化
3 值类型:即变量名所指的就是实际的数据值。除了string和object,其余均为值类型
4 引用类型:变量名所指的实际数据值的内存地址。包括string和object
5 整数运算比浮点运算的速度要快的多
6 逐字字符串@:唯一需要转义的符号就是双引号””
7 在大型系统中,如果是要大量的字符串连接操作,使用StringBuilder类型对于提升系统的性能还是非常有帮助
8 数据类型的转换是由代价的,我们在代码中应该尽量避免类型转换,在一些相关的运算的数据使用上,应考虑首先使用统一的数据类型
9 C#中的HashTable相当于Map
10 结构关键字:
  10.1 结构是值类型的,在赋值时,它将复制所以成员的值
  10.2 结构应使用与轻量级的数据结构,对于复杂的结构,数据的传递效率并不高,因为它将传递所有成员的值,考虑使用类代替
11 String和string的区别:String是.Net Framework 中的类,string是C#中的关键字。string是String的别名,两者可相同方式使用,但在C#程序中建议使用string
12 在对象不再使用时立即将其设置为null会是一个很好的编程习惯
13 在定义参数时,在参数前加上ref关键字就成为了引用参数
14 类前加sealed表示密封类,不可被继承
15 可以使用Microsoft.VisualBasic命名空间的资源提高开发效率,主要关注Microsoft.VisualBasic.Devices包括:Audio类,Clock类,Computer类,ComputerInfo类,Keyboard类,Mouse类,Network类,Port类,ServerComputer类
16 易失域关键字volatile,使各线程排队读写数据
17 互斥锁lock,与volatile不同的是lock只能操作对象
18 using关键字作为指令时,可以引用命名空间或创建引用别名,而作为一个语句,他的功能是创建一个对象的引用块,然后自动清理资源

1 0