C#提高編程能力的50個(gè)要點(diǎn)總結(jié)
本文總結(jié)了C#提高編程能力的50個(gè)要點(diǎn)。分享給大家供大家參考,具體如下:
1.總是用屬性 (Property) 來代替可訪問的數(shù)據(jù)成員
2.在 readonly 和 const 之間,優(yōu)先使用 readonly
3.在 as 和 強(qiáng)制類型轉(zhuǎn)換之間,優(yōu)先使用 as 操作符
4.使用條件屬性 (Conditional Attributes) 來代替條件編譯語句 #if
5.總是為自定義類重載 ToString 方法
6.區(qū)別值類型和引用類型
7.使用不可變的值類型(Immutable Atomic Value Types)
8.在值類型中,確保0是一個(gè)合法的數(shù)據(jù)
9.理解 ReferenceEquals, static Equals, instance Equals 和 比較運(yùn)算符(==)之間的關(guān)系
10.理解 GetHashCode方法的缺陷
11.在編寫循環(huán)時(shí),優(yōu)先使用 foreach.
12.在定義變量的時(shí)候就將其初始化
13.使用靜態(tài)構(gòu)造函數(shù)來初始化靜態(tài)成員變量
14.用多個(gè)構(gòu)造函數(shù)時(shí),利用構(gòu)造函數(shù)鏈
15.使用using和try/finally來處理資源的釋放
16.盡量避免產(chǎn)生資源垃圾
17.盡量避免使用裝箱(boxing)和拆箱(unboxing)
18.實(shí)現(xiàn)類的 Dispose 方法
19.在接口和繼承(Inheritance)之間,優(yōu)先使用接口(interface)
20.區(qū)分接口和重載(overrides)
21.用委托(delegate)來實(shí)現(xiàn)回調(diào)(callback)
22.用事件(event)來定義外部接口
23.避免返回類內(nèi)部成員的引用
24.使用元數(shù)據(jù)來控制程序
25.優(yōu)先使用可序列化(serilizable)類型
26.對(duì)需要排序的對(duì)象實(shí)現(xiàn)IComparable和IComparer接口
27.避免使用 ICloneable接口
28.避免使用類型轉(zhuǎn)換操作符
29.只有當(dāng)基類加入了與派生類中現(xiàn)有的函數(shù)名稱相同的函數(shù)時(shí),才需要使用 new 操作符
30.盡量使用 CLS-Compliant
31.盡量編寫短少,簡(jiǎn)單的函數(shù)
32.盡量編寫比較小的程序集(assembly)
33.限定類型的可見性(visibility)
34.編寫大粒度的 web API
35.在使用事件時(shí),優(yōu)先繼承基類事件,而不是重新創(chuàng)建一個(gè)事件
36.多使用 framework 的運(yùn)行時(shí)調(diào)試 (DEBUG, TRACE, EVENTLOG等)
37.使用.net標(biāo)準(zhǔn)的配置機(jī)制
38.使用并且在類中支持.net的數(shù)據(jù)綁定功能 (Data Binding)
39.使用.net的驗(yàn)證機(jī)制 (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è)計(jì)入門教程》
希望本文所述對(duì)大家C#程序設(shè)計(jì)有所幫助。
上一篇:在C#使用字典存儲(chǔ)事件示例及實(shí)現(xiàn)自定義事件訪問器
欄 目:C#教程
下一篇:詳解C#中使用對(duì)象或集合的初始值設(shè)定項(xiàng)初始化的操作
本文標(biāo)題:C#提高編程能力的50個(gè)要點(diǎn)總結(jié)
本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/6710.html
您可能感興趣的文章
- 01-10C#編程實(shí)現(xiàn)自定義熱鍵的方法
- 01-10C#編程獲取資源文件中圖片的方法
- 01-10C#編程自學(xué)之?dāng)?shù)據(jù)類型和變量二
- 01-10C#編程自學(xué)之開篇介紹
- 01-10C#編程自學(xué)之?dāng)?shù)據(jù)類型和變量三
- 01-10C#編程自學(xué)之運(yùn)算符和表達(dá)式
- 01-10C#編程自學(xué)之類和對(duì)象
- 01-10C#編程和Visual Studio使用技巧(下)
- 01-10C#編程自學(xué)之?dāng)?shù)據(jù)類型和變量一
- 01-10C#編程和Visual Studio使用技巧(上)


閱讀排行
- 1C語言 while語句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹的示例代碼(圣誕
- 3利用C語言實(shí)現(xiàn)“百馬百擔(dān)”問題方法
- 4C語言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁(yè)無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實(shí)現(xiàn)txt定位指定行完整實(shí)例
- 01-10WinForm實(shí)現(xiàn)仿視頻播放器左下角滾動(dòng)新
- 01-10C#停止線程的方法
- 01-10C#實(shí)現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實(shí)現(xiàn)讀取注冊(cè)表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機(jī)閱讀
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10delphi制作wav文件的方法
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 04-02jquery與jsp,用jquery
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?


