C#提高編程能力的50個要點總結(jié)
本文總結(jié)了C#提高編程能力的50個要點。分享給大家供大家參考,具體如下:
1.總是用屬性 (Property) 來代替可訪問的數(shù)據(jù)成員
2.在 readonly 和 const 之間,優(yōu)先使用 readonly
3.在 as 和 強制類型轉(zhuǎn)換之間,優(yōu)先使用 as 操作符
4.使用條件屬性 (Conditional Attributes) 來代替條件編譯語句 #if
5.總是為自定義類重載 ToString 方法
6.區(qū)別值類型和引用類型
7.使用不可變的值類型(Immutable Atomic Value Types)
8.在值類型中,確保0是一個合法的數(shù)據(jù)
9.理解 ReferenceEquals, static Equals, instance Equals 和 比較運算符(==)之間的關(guān)系
10.理解 GetHashCode方法的缺陷
11.在編寫循環(huán)時,優(yōu)先使用 foreach.
12.在定義變量的時候就將其初始化
13.使用靜態(tài)構(gòu)造函數(shù)來初始化靜態(tài)成員變量
14.用多個構(gòu)造函數(shù)時,利用構(gòu)造函數(shù)鏈
15.使用using和try/finally來處理資源的釋放
16.盡量避免產(chǎn)生資源垃圾
17.盡量避免使用裝箱(boxing)和拆箱(unboxing)
18.實現(xiàn)類的 Dispose 方法
19.在接口和繼承(Inheritance)之間,優(yōu)先使用接口(interface)
20.區(qū)分接口和重載(overrides)
21.用委托(delegate)來實現(xiàn)回調(diào)(callback)
22.用事件(event)來定義外部接口
23.避免返回類內(nèi)部成員的引用
24.使用元數(shù)據(jù)來控制程序
25.優(yōu)先使用可序列化(serilizable)類型
26.對需要排序的對象實現(xiàn)IComparable和IComparer接口
27.避免使用 ICloneable接口
28.避免使用類型轉(zhuǎn)換操作符
29.只有當(dāng)基類加入了與派生類中現(xiàn)有的函數(shù)名稱相同的函數(shù)時,才需要使用 new 操作符
30.盡量使用 CLS-Compliant
31.盡量編寫短少,簡單的函數(shù)
32.盡量編寫比較小的程序集(assembly)
33.限定類型的可見性(visibility)
34.編寫大粒度的 web API
35.在使用事件時,優(yōu)先繼承基類事件,而不是重新創(chuàng)建一個事件
36.多使用 framework 的運行時調(diào)試 (DEBUG, TRACE, EVENTLOG等)
37.使用.net標(biāo)準(zhǔn)的配置機制
38.使用并且在類中支持.net的數(shù)據(jù)綁定功能 (Data Binding)
39.使用.net的驗證機制 (Validation)
40.根據(jù)你的需求選擇正確的集合類(Collection)
41.在自定義結(jié)構(gòu)中使用 DataSet
42.利用屬性(Attributes)
43.不要過度使用反射(Reflection)
44.創(chuàng)建完整的,應(yīng)用程序特定的異常
45.盡可能多的考慮程序可能出現(xiàn)的異常,并作出處理
46.盡可能少的使用 Interop
47.盡量使用安全代碼 (safe code)
48.多多學(xué)習(xí)、使用外部工具和資源
49.準(zhǔn)備使用 C# 2.0
50.學(xué)習(xí) ECMA 標(biāo)準(zhǔn)
更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《WinForm控件用法總結(jié)》及《C#面向?qū)ο蟪绦蛟O(shè)計入門教程》
希望本文所述對大家C#程序設(shè)計有所幫助。
上一篇:在C#使用字典存儲事件示例及實現(xiàn)自定義事件訪問器
欄 目:C#教程
下一篇:詳解C#中使用對象或集合的初始值設(shè)定項初始化的操作
本文標(biāo)題:C#提高編程能力的50個要點總結(jié)
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/6710.html
您可能感興趣的文章


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實現(xiàn)txt定位指定行完整實例
- 01-10WinForm實現(xiàn)仿視頻 器左下角滾動新
- 01-10C#停止線程的方法
- 01-10C#實現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實現(xiàn)讀取注冊表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機閱讀
- 01-10C#中split用法實例總結(jié)
- 01-10delphi制作wav文件的方法
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-11ajax實現(xiàn)頁面的局部加載
- 04-02jquery與jsp,用jquery
- 08-05織夢dedecms什么時候用欄目交叉功能?