天天看點

C#陷阱和容易搞錯的知識點總結

1.盡可能減少public常量,最好以屬性代替常量對外公開資料。

public變量會導緻運作和編譯的效果不同,不能經常為更新一個dll檔案,而繁瑣的對項目進行連續不斷的重新編譯。

2.相等運算符重載時要先判斷參數是否為空,否則會引起空引用異常

3.params關鍵詞需要判斷是否為空值

4.傳遞到ref參數的變量首先得初始化

5.不要在子類的構造函數使用虛方法

因為構造函數比虛方法先執行

6.周遊ArrayList要注意過濾元素

如下

ArrayList al=new GetArrayList();
int[] intArray=al.OfType<int>().ToArray<int>();//采用LINQ技術過濾al中的非整型元素
foreach(int item in intArray)
{
}//周遊
           

7.讀寫檔案編碼格式要注意一緻

8.讀入和寫入二進制檔案注意方法需一緻

9.try,catch盡可能用if,else替代

異常相當消耗資源

10.c++結構體是引用類型,C#卻是值類型

11.C#中字元串是引用類型而不是值類型

12.try,catcj,finally無論是否return,finally始終都會執行

13.結構不支援繼承,但可以實作接口

參考《c#開發之道》