日期:2014-05-17  浏览次数:20769 次

读书笔记之《编写高质量代码:改善C#程序的157个建议》

最近,在阅读书籍《编写高质量代码:改善C#程序的157个建议》,感觉写得很不错,特将其中的建议整理了一下,待以后随时查看。

现只罗列了其中的部分建议,因为书籍还没有阅读完,会慢慢的完善补充。

 

正确操作字符串

1.1 确保尽量少的装箱

在使用其他值引用类型到字符串的转换并完成拼接时,应当避免使用操作符“+”来完成,而应该使用值引用类型提供的ToString方法。

例如:

String str1=str1+9

String str2=str2+9.ToString();

1.2避免分配额外的内存空间

 

使用默认转型方法

这些转型方法包括:

使用类型的转换运算符。隐式转换与显式转换。

使用类型内置的ParseTryParse,或者如ToStringToDoubleToDateTime等方法。

使用帮助类提供的方法。如System.ConvertSystem.BitConverter等。

使用CLR支持的转型。上溯转型与下溯转型。

 

区别对待强制转型与asis

如果类型之间都上溯到了某个共同的基类,那么根据此基类进行的转型(即基类转型为子类本身)应该使用as,子类与子类之间的转型,则应该提供转换操作符,以便进行强制转型。

 

4 TryParseParse

两者最大的区别是,如果字符串格式不满足转换的要求,Parse方法将会引发一个异常;TryParse方法将不会引发异常,它会返回false,同时将result置为0

 

使用int?来确保值类型也可以为null

T?是NullableT〉的缩写,两者可以相互转换。T必须为结构体。

 

区别readonlyconst的使用方法

两者的区别:

const是一个编译器常量,