1.一定要用大括號括住流程控制元素,如for,while,if,switch內嵌的代碼,即便只包含一行代碼。
2.如果語句中有else if,一定要有一個else跟着最後一個else if。
3.只要使用switch在所有case後面一定要有default。
4.當對字符串進行復雜操作的時候考慮用StringBuilder,StringBuilder可以在實例化的時候制定字符串需要多少空間,這樣不需要重複分配內存。
5.用static readonly來修飾一個常量而不用const,好處就是犧牲一點點性能的情況下讓CLR進行運行時的類型檢查。
6.在最靠近第一次使用某個變量的地方聲明並初始化這個變量而不是在整個模塊的最開頭。
7.當一個object實例不再使用應該賦值爲null,這樣可以提醒GC(垃圾回收器)回收這個類。
8.如果函數中有object繼承IDisposable接口,那麼必須保證IDisposable.Dispose()方法在函數退出前一定被調用。
9.以下幾種情況需要繼承IDisposable接口:
(1)Object的成員包含非託管資源。
(2)Object的成員包含很耗內存的託管資源
(3)Object中的成員變量繼承IDisposable接口
10.注意throw和throw e的區別
11.如果沒有必要不要寫catch模塊