C#是達成微軟公共語言運行庫(CLR)的少數語言中的一種。達成CLR的語言可以受益于其帶來的特性,如跨語言集成、異常處理、安全性增強、部件組合的簡易模型以及調試和分析服務。作為現代的CLR語言,C#是應用最為廣泛的,其應用場景針對Windows桌面、移動手機以及服務器環境等復雜、專業的開發項目。
C#是種面向對象的強類型語言。C#在編譯和運行時都有的強類型檢查,使在大多數典型的編程錯誤能夠被盡早地發現,而且位置定位相當精準。相比于那些不拘泥類型,在違規操作很久后才報出可追蹤到莫名其妙錯誤的語言,這可以為程序員節省很多時間。然而,許多程序員有意或無意地拋棄了這個檢測的有點,這導致本文中討論的一些問題。
本文介紹了10種最常見的編程錯誤,或是C#程序員要避免的陷阱。
盡管本文中討論的錯誤是C#環境下的,但對其他達成CLR或使用框架類庫(FCL)的語言也相關(FCL)。
C++以及許多其他語言的程序員習慣于控制他們分配給變量的值是否為簡易的值或現有對象的引用。在C#中呢,這將由寫該對象的程序員決定,而不是由實例化該對象并對它進行變量賦值的程序員決定。這是新手C#程序員們的共同“問題”。
如果你不知道你正在使用的對象是否是值類型或引用類型,你可能會遇到一些驚喜。例如:
| 1234567891011 | Point point1 = new Point(20, 30);
|