精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C#基礎(chǔ)之C#代碼的注意事項(下)

開發(fā) 后端
本文介紹的是我們寫C#代碼的一些注意事項,主要為大家介紹了50個方面的。希望對大家有幫助,一起來看。

關(guān)于代碼優(yōu)化的問題,之前也給大家介紹過相關(guān)的內(nèi)容。下面介紹的是C#代碼優(yōu)化的一些注意事項,供參考。接上一篇>>

二十六、使用IComparable和IComparer接口實現(xiàn)排序關(guān)系

1、IComparable接口用于為類型實現(xiàn)最自然的排序關(guān)系,重載四個比較操作符,可以提供一個重載版的CompareTo()方法,讓其接受具體類型作為參數(shù);

2、IComparer用于提供有別于IComparable的排序關(guān)系,或者為我們提供類型本身說沒有實現(xiàn)的排序關(guān)系。

二十七、避免ICloneable接口

1、對于值類型永遠不需要支持ICloneable接口使用默認的賦值操作即可;

2、對于可能需要支持ICloneable接口的基類,應(yīng)該為其創(chuàng)造一個受保護的復(fù)制構(gòu)造器,并應(yīng)當避免支持IConeable接口。

二十八、避免強制轉(zhuǎn)換操作符

通過使用構(gòu)造器來代替轉(zhuǎn)換操作符可以使轉(zhuǎn)換工作變得更清晰,由于在轉(zhuǎn)換后使用的臨時對象,容易導(dǎo)致一些詭異的BUG。

二十九、只有當新版積累導(dǎo)致問題是才考慮使用new修飾符

三十、盡可能實現(xiàn)CLS兼容的程序集

1、創(chuàng)建一個兼容的程序集需要遵循兩條規(guī)則:程序集中所有公有和受保護成員所使用的參數(shù)和返回值類型都必須與CLS兼容;任何與CLS不兼容的公有和受保護成員都必須有一個與CLS兼容的替代品;

2、可以通過顯式實現(xiàn)接口來避開CLS兼容類型檢查,及CLSCompliantAttribute不會檢查私有的成員的CLS兼容性。

三十一、盡可能實現(xiàn)短小簡潔的方法

1、JIT編譯器以方法為單位進行編譯,沒有被調(diào)用的方法不會被JIT編譯;

2、如果將較長的Switch中的Case語句的代碼替換成一個一個的方法,則JIT編譯器所節(jié)省的時間將成倍增加;

3、短小精悍的方法并選擇較少的局部變量可以獲得優(yōu)化的寄存器使用;

4、方法內(nèi)的控制分支越少,JIT編譯器越容易將變量放入寄存器。

三十二、盡可能實現(xiàn)小尺寸、高內(nèi)聚的程序集

1、將所有的公有類以及共用的基類放到一些程序集中,把“為公有類提供功能的工具類”也放入同樣的程序集中,把相關(guān)的公有接口打包到他們自己的程序集中,最后處理遍布應(yīng)用程序中“水平”位置的類;

2、原則上創(chuàng)建兩種組件:一種為小而聚合、具有某項特定功能的程序集,另一種為大而寬、包含共用功能的程序集。

三十三、限制類型的可見性

1、使用接口來暴露類型的功能,可以使我們更方便地創(chuàng)建內(nèi)部類,同時又不會限制他們在程序集外的可用性;

2、向外暴露的公有類型越少,未來擴展和更改實現(xiàn)所擁有的選擇就越多。

三十四、創(chuàng)建大粒度的Web API

這是在機器之間的交易的頻率和載荷都降到最低,將大的操作和細粒度的執(zhí)行放到服務(wù)器執(zhí)行。

三十五、重寫優(yōu)于事件處理器

1、一個事件處理器拋出異常,則事件鏈上的其他處理器將不會被調(diào)用,而重寫的虛方法則不會出現(xiàn)這種情況;

2、重寫要比關(guān)聯(lián)事件處理器高效得多,事件處理器需要迭代整個請求列表,這樣占用了更多的CPU時間;

3、事件能在運行時響應(yīng),具有更多的靈活性,可以對同一個事件關(guān)聯(lián)多個響應(yīng);

4、通行的規(guī)則是處理一個派生類的事件是,重寫方式較好。

三十六、合理使用.NET運行時診斷

1、System.Diagnostics.Debug\Trace\EventLog為運行時提供了程序添加診斷信息所需要的所有工具,EventLog提供入口時的應(yīng)用程序能寫到系統(tǒng)事件日志中;

2、最后不要寫自己的診斷庫,.NET FCL 已經(jīng)擁有了我們需要的核心庫。

三十七、使用標準配置機制

1、.NET框架的System.Windows.Application類為我們定義了建立通用配置路徑的屬性;

2、Application.LocalAppDataPath和Application.userDataPath 會生成本地數(shù)據(jù)目錄和用戶數(shù)據(jù)的路徑名;

3、不要在ProgramFiles和Windows系統(tǒng)目錄中寫入數(shù)據(jù),這些位置需要更高的安全權(quán)限,不要指望用戶擁有寫入的權(quán)限。

三十八、定制和支持數(shù)據(jù)綁定

1、BindingMananger和CurrencyManager這兩個對象實現(xiàn)了控件和數(shù)據(jù)源之間的數(shù)據(jù)傳輸;

2、數(shù)據(jù)綁定的優(yōu)勢:使用數(shù)據(jù)綁定要比編寫自己的代碼簡單得多;應(yīng)該將它用于文本數(shù)據(jù)項之外的范圍-其他顯示屬性也可以被綁定;對于Windowos Forms 數(shù)據(jù)綁定能夠處理多個控件同步的檢查相關(guān)數(shù)據(jù)源;

3、在對象不支持所需的屬性時可以通過屏蔽當前的對象然后添加一個想要的對象來支持數(shù)據(jù)綁定。

三十九、使用.NET驗證

1、ASP.NET中有五種控件來驗證有效性,可以用CustomValidator派生一個新類來增加自己的認證器;

2、Windows驗證需要子System.Windows.Forms.Control.Validating些一個事件處理器。

四十、根據(jù)需要選用恰當?shù)募?br />

1、數(shù)組有兩個比較明顯的缺陷:不能動態(tài)的調(diào)整大小;調(diào)整大小非常耗時;

2、ArrayList混合了一維數(shù)組和鏈表的特征,Queue和Stack是建立在Array基礎(chǔ)上的特殊數(shù)組;

3、當程序更加靈活的添加和刪除項時,可以使更加健壯的集合類型,當創(chuàng)建一個模擬集合的類時,應(yīng)當為其實現(xiàn)索引器和IEnumberable接口。

四十一、DataSet優(yōu)于自定義結(jié)構(gòu)

1、DataSet有兩個缺點個:使用XML序列化機制的DataSet與非.NET 代碼之間的交互不是很好;DataSet是一個非常通用的容器;

2、強類型的DataSet打破了更多的設(shè)計規(guī)則,其獲得的開發(fā)效率要遠遠高于自己編寫的看上去更為優(yōu)雅的設(shè)計。

四十二、利用特性簡化反射

通過設(shè)計和實現(xiàn)特性類,強制開發(fā)人員用他們來聲明可被動態(tài)使用的類型、方法和屬性,可以減少應(yīng)用程序的運行時錯誤,提高軟件的用戶滿意度。

四十三、避免過度使用反射

1、Invoke成員使用的參數(shù)和返回值都是System.Object,在運行時進行類型的轉(zhuǎn)換,但出現(xiàn)問題的可能性也變得更多了;

2、接口使我們可以得到一個更為清晰、也更具可維護性的系統(tǒng),反射式一個很強大的晚期綁定機制.NET框架使用它來實現(xiàn)Windows控件和Web控件的數(shù)據(jù)綁定。

四十四、為應(yīng)用程序創(chuàng)建特定的異常類

1、需要不同的異常類的唯一原因是讓用戶在編寫catch處理器時能夠方便地對不同的錯誤采取不同的做法;

2、可能有不同的修復(fù)行為時我們才應(yīng)該創(chuàng)建多種不同的異常類,通過提供異常基類所支持的所有構(gòu)造器,可以為應(yīng)用程序創(chuàng)建功能完整的異常類,使用InnerException屬性可以保存更低級別錯誤條件所產(chǎn)生的所有錯誤信息。

四十五、優(yōu)先選擇異常安全保證

1、”強異常保證”在“從異常中恢復(fù)”和“簡化異常處理”之間提供了最好的平衡,在操作因為異常而中斷,程序的狀態(tài)保留不變;

2、對將要修改的數(shù)據(jù)做“防御性的復(fù)制”,對這些數(shù)據(jù)的“防御性復(fù)制”進行修改,這中間的操作可能會引發(fā)異常,將臨時的副本和原對象進行交換;

3、終結(jié)器、Dispose()方法和委托對象所綁定的目標方法在任何情況下都應(yīng)當確保他們不會拋出異常。

四十六、最小化互操作

1、互操作有三個方面的代價:數(shù)據(jù)在托管堆和非托管堆之間的列舉成本,托管代碼和非托管代碼之間切換的成本,對開發(fā)人員來說與混合環(huán)境打交道的開發(fā)工作;

2、在interop中使用blittable類型可以有效地在托管和非托管環(huán)境中來回復(fù)制,而不受對象內(nèi)部結(jié)構(gòu)的影響;

3、使用In/Out特性來確保最貼切的不必要的多次復(fù)制,通過聲明數(shù)據(jù)如何被列舉來提高性能;

4、使用COM Interop用最簡單的方式實現(xiàn)和COM組件的互操作,使用P/Invoke調(diào)用Win32 API,或者使用C++編譯器的/CLR開關(guān)來混合托管和非托管的代碼;

四十七、優(yōu)先選擇安全代碼

1、盡可能的避免訪問非托管內(nèi)存,隔離存儲不能防止來自托管代碼和受信用戶的訪問;

2、程序集在Web上運行時可以考慮使用隔離存儲,當某些算法確實需要更高的安全許可時,應(yīng)該將那些代碼隔離在一個單獨的程序集中。

四十八、掌握相關(guān)工具與資源

1、使用NUnit建立自動單元測試(集成在VS2010 中了);

2、FXCop工具會獲取程序集中的IL代碼,并將其與異族編碼規(guī)則和最佳實踐對照分析,最后報告違例情況;

3、ILDasm是一個IL反匯編工具,可以幫助我們洞察細節(jié);

4、Shared Source CLI是一個包含.NET框架內(nèi)核和C#編譯器的實現(xiàn)源碼。

四十九、為C#2.0做準備(這個規(guī)則現(xiàn)在已經(jīng)沒什么意義了,畢竟現(xiàn)在已經(jīng)到了4.0 )

五十、了解ECMA標準

到這,關(guān)于C#編碼的注意事項,就給大家介紹完了。希望對你有幫助。

本文地址: http://www.caodong.net/Article/1455.html

【編輯推薦】

  1. 漫談C#開發(fā)中的ASP.NET頁生命周期
  2. C#中 As 和強制轉(zhuǎn)換的總結(jié)
  3. 分享c#常用函數(shù)和方法集
  4. 詳談C#和.NET中的類型轉(zhuǎn)換
  5. C#值類型賦值與引用類型的賦值

 

 

責任編輯:于鐵 來源: saiyo
相關(guān)推薦

2011-07-06 09:44:34

C#

2009-09-01 17:25:33

初學(xué)C#編程

2009-08-06 16:13:16

C# Web Serv

2011-04-22 09:14:26

C#委托

2011-07-06 11:04:42

C#正則表達式

2009-08-25 17:59:49

C#入門

2021-03-15 08:18:23

C#反射模塊

2010-12-22 10:21:17

C#基礎(chǔ)

2011-06-08 14:22:51

延遲加載

2011-07-06 10:14:46

C#

2009-08-25 17:15:50

C#隱藏C#重寫C#重載

2010-01-18 16:12:16

CC++語言

2010-01-18 14:25:19

使用C++Builde

2009-08-25 16:32:24

C#語言

2009-08-13 18:02:50

C#基礎(chǔ)概念

2009-08-27 11:43:31

C#語法

2009-08-19 15:38:59

C#代碼

2010-01-25 18:12:28

C++

2010-01-14 18:19:40

C++語言

2009-09-02 17:10:45

C#語言入門
點贊
收藏

51CTO技術(shù)棧公眾號

亚洲黄色精品视频| 性猛交娇小69hd| 高清全集视频免费在线| 国产精品一区久久久久| 欧美精品九九久久| 亚洲精品成人无码| 亚洲精品观看| 在线免费av一区| 91精品国产毛片武则天| 欧洲免费在线视频| 久99久精品视频免费观看| 97精品伊人久久久大香线蕉| 国产精品一区二区亚洲| 999在线精品| 欧美日韩国产小视频在线观看| 久久手机在线视频| 在线免费看av| 91网站视频在线观看| 国产欧美韩国高清| 西西44rtwww国产精品| 五月婷婷亚洲| 亚洲天堂一区二区三区| 熟女人妻一区二区三区免费看| 欧美成a人片在线观看久| 一区二区三区在线不卡| 亚洲人成77777| 偷拍自拍在线视频| 国产老女人精品毛片久久| 国产成人精品久久| 日韩免费黄色片| 欧美91视频| 日韩在线视频国产| 国产黄片一区二区三区| 美女福利一区| 亚洲成色www8888| 熟妇女人妻丰满少妇中文字幕| 国产一区精品福利| 在线视频国产一区| www黄色日本| 999av小视频在线| 亚洲图片欧美综合| 91视频成人免费| 免费在线观看黄色| 国产精品视频一二| 日产精品一线二线三线芒果| 青青草免费观看免费视频在线| caoporm超碰国产精品| 波多野结衣精品久久| 国产农村妇女毛片精品| 激情综合网av| 亚洲综合在线中文字幕| 97视频免费在线| 久久66热偷产精品| 91欧美精品成人综合在线观看| 免费黄色一级大片| 日本系列欧美系列| 国产精品久久久久久av福利| 国产亚洲久一区二区| 日韩激情视频在线观看| 国产suv精品一区二区| 日本熟女毛茸茸| 老司机午夜精品视频| 欧美一区二区三区四区在线| 日本一区二区三区精品| 久久一区中文字幕| 日韩**中文字幕毛片| 亚洲国产av一区二区三区| 久久影院亚洲| 国产精品一区二区三区久久| 91亚洲精品国偷拍自产在线观看| 美国毛片一区二区| 91在线观看免费高清| 亚洲AV无码精品自拍| 成人禁用看黄a在线| 久久riav| 日本美女在线中文版| 亚洲精品综合在线| 青青草精品视频在线| 韩国美女久久| 欧美老女人第四色| 不许穿内裤随时挨c调教h苏绵| 精品在线网站观看| 亚洲系列中文字幕| 国产又黄又爽又无遮挡| 影音先锋久久精品| 日韩免费黄色av| 国产又黄又爽视频| 成人国产在线观看| 日本在线视频不卡| 污的网站在线观看| 日韩欧美在线网址| 99九九99九九九99九他书对| 国产福利一区二区精品秒拍| 亚洲风情亚aⅴ在线发布| 在线观看免费小视频| 国产在线欧美| 国产日韩欧美视频| 日本韩国在线观看| 国产精品美女久久久久久2018| 337p亚洲精品色噜噜狠狠p| 在线成人av观看| 欧美一级一级性生活免费录像| 影音先锋人妻啪啪av资源网站| 日本午夜一区| 国产+成+人+亚洲欧洲| 中文字幕第315页| 成人动漫av在线| 一区二区三区精品国产| 中文字幕色婷婷在线视频 | 日韩三级小视频| 蜜桃视频在线观看一区| 精品无人乱码一区二区三区的优势 | 国产最新精品精品你懂的| 国产一区二区三区高清视频| 免费成人黄色| 色婷婷国产精品| 无码国产精品一区二区免费式直播| 色一区二区三区四区| 欧美怡红院视频一区二区三区| 国产高潮在线观看| 国产日韩亚洲欧美综合| 青青草国产精品视频| 日韩一区二区三区精品视频第3页| 一二美女精品欧洲| 久久久国产高清| 国产成人亚洲综合a∨婷婷| 神马影院午夜我不卡| 在线中文字幕播放| 亚洲高清色综合| 久草视频在线资源站| 国产精品影视网| 中文字幕在线亚洲精品| 99精品国自产在线| 国产一区二区三区在线视频| 中文字幕第四页| 99精品久久只有精品| 国产v片免费观看| 66精品视频在线观看| 欧美成人手机在线| 国产毛片毛片毛片毛片| 中文字幕日韩av资源站| 永久免费的av网站| 日本午夜一区| 成人h片在线播放免费网站| chinese偷拍一区二区三区| 在线观看国产91| 国产熟妇久久777777| 亚洲欧美日韩在线观看a三区| 国产一级精品aaaaa看| 韩国日本一区| 日韩电影第一页| 二区视频在线观看| 久久奇米777| 成年人免费在线播放| 最新亚洲精品| 国产精品久久久精品| wwwxxx在线观看| 欧美美女喷水视频| 五月天婷婷色综合| 国产精品66部| 精品视频免费在线播放| 最新国产精品视频| 国产精品十八以下禁看| 麻豆影院在线| 精品国产乱子伦一区| 日韩大片免费在线观看| 91视频免费播放| 亚洲高清免费在线观看| 国产精品videosex性欧美| 91久久嫩草影院一区二区| 91精品久久| 日韩黄色av网站| 日本欧美www| 又紧又大又爽精品一区二区| 五月天激情小说| 日韩av网站免费在线| 一卡二卡3卡四卡高清精品视频| 国产精品va视频| 久久久亚洲影院你懂的| 福利在线播放| 欧美成人国产一区二区| 韩国av中文字幕| 国产精品久久精品日日| 动漫美女无遮挡免费| 玖玖玖国产精品| 日日噜噜夜夜狠狠久久丁香五月| 精品欧美午夜寂寞影院| 国产精品三级网站| wwww亚洲| 精品国内亚洲在观看18黄| 肥臀熟女一区二区三区| 欧美性大战久久久| 久久久国产精华液| 国产欧美日韩精品一区| 91porn在线| 日韩成人精品在线观看| 激情五月婷婷六月| 日韩电影一区| 久久免费看av| 99热这里只有精品首页| 国产精品视频网| 天堂中文最新版在线中文| 久久精品影视伊人网| 青青青草原在线| 欧美一区二区三区四区五区| 无码人妻精品一区二区三区9厂 | 免费看一级大黄情大片| 99久久99视频只有精品| 久久另类ts人妖一区二区| 日本成人精品| 国产精品视频区| 免费成人动漫| 91高潮在线观看| 在线视频观看国产| 在线一区二区日韩| 色网站在线免费观看| 精品毛片乱码1区2区3区 | 另类小说视频一区二区| 逼特逼视频在线| 狠狠88综合久久久久综合网| 中文字幕免费在线不卡| 欧美日韩在线播放视频| 久久伊人一区| 精品成人自拍视频| 成人免费在线看片| 亚洲日日夜夜| 国产欧美一区二区| 成人精品一区二区三区电影| 久久久久亚洲精品| 欧美寡妇性猛交xxx免费| 日韩亚洲在线观看| av大片在线观看| 亚洲视频自拍偷拍| 青青草观看免费视频在线| 亚洲高清一区二| 五月婷婷六月丁香综合| 亚洲大胆美女视频| 神马午夜在线观看| 欧美精品一区二| 亚洲免费成人网| 精品美女一区二区| 色欲av伊人久久大香线蕉影院| 欧美变态口味重另类| 超碰在线播放97| 欧美v亚洲v综合ⅴ国产v| 国产高潮在线观看| 精品区一区二区| 日本xxxx人| 日韩成人av在线播放| 亚州视频一区二区三区| 日韩精品在线影院| 国产在线自天天| 视频在线一区二区| 男人资源在线播放| 欧美精品免费看| 调教一区二区| 97精品欧美一区二区三区| 欧美aa视频| 成人亚洲激情网| swag国产精品一区二区| 国产在线精品日韩| 女人av一区| 伊人情人网综合| 欧美视频在线观看| 免费欧美一级视频| 日韩成人精品在线| 五月激情五月婷婷| 风流少妇一区二区| 成年人网站免费看| 欧美激情在线一区二区三区| 少妇人妻丰满做爰xxx| 亚洲国产日产av| 日日夜夜操视频| 欧美麻豆精品久久久久久| www.xxxx国产| 精品一区二区亚洲| 欧美尤物美女在线| 韩国美女主播一区| 户外露出一区二区三区| 成人免费网站在线观看| 福利电影一区 | 欧美va亚洲va日韩∨a综合色| 日本手机在线视频| 日本人妖一区二区| 99国产精品免费视频| 91在线小视频| 中文字幕求饶的少妇| 亚洲福利国产精品| 久久久久久亚洲av无码专区| 欧美一区三区四区| 青青草免费观看免费视频在线| 久久久精品视频成人| 亚洲涩涩在线| 成人激情电影一区二区| 四虎884aa成人精品最新| 亚洲综合第一| 国产一区二区三区久久| 日韩精品你懂的| 成人av免费在线| 很污很黄的网站| 欧美日韩亚洲国产一区 | 亚洲电影免费观看高清完整版在线观看| 国产一级二级三级在线观看| 欧美国产高跟鞋裸体秀xxxhd| 视频二区不卡| 国产精品二区在线观看| 成人影院天天5g天天爽无毒影院| 免费人成在线观看视频播放| 毛片一区二区三区| 四虎影成人精品a片| 亚洲精品ww久久久久久p站| 激情网站在线观看| 亚洲爱爱爱爱爱| 最新日本在线观看| 国产在线98福利播放视频| 免费短视频成人日韩| 日韩美女爱爱视频| 国产一区二区按摩在线观看| 欧美丰满美乳xxⅹ高潮www| 亚洲一区二区影院| 国产精品免费无遮挡| 在线视频欧美性高潮| 成人直播视频| 麻豆视频成人| 国产视频一区三区| 国产精品果冻传媒| 亚洲精品欧美综合四区| 97在线视频人妻无码| 在线国产精品播放| 精品亚洲美女网站| 欧美连裤袜在线视频| 国产精品呻吟| 久久精品综合视频| 亚洲高清视频在线| 成人久久久精品国产乱码一区二区| 久久精品91久久久久久再现| 欧洲午夜精品| 中文字幕在线中文字幕日亚韩一区| 免费观看成人av| 欧美激情视频二区| 欧美丝袜第三区| 午夜视频在线免费观看| 国产精品视频中文字幕91| 欧美精品一区二区久久| 成年网站在线播放| 国产精品丝袜久久久久久app| 在线观看中文字幕2021| 丝袜情趣国产精品| 欧美美女被草| 亚洲欧美精品| 精品中文字幕一区二区| 永久免费未视频| 91精品国产欧美一区二区| 婷婷丁香在线| 韩国成人动漫在线观看| 久久激情一区| 四虎成人免费影院| 欧美日韩国产经典色站一区二区三区| 午夜激情视频在线| 亚洲一区二区中文| 国产综合激情| 人妻在线日韩免费视频| 色哟哟日韩精品| 毛片在线播放a| 国产精品久久7| 美女久久一区| 亚洲少妇xxx| 欧美va亚洲va国产综合| 密臀av在线播放| 亚洲三区在线| 成人午夜激情视频| 亚洲va在线观看| 久久精品国产精品亚洲| av成人app永久免费| 国产在线青青草| 中文字幕一区二区三区在线观看| 朝桐光av在线一区二区三区| 欧美亚洲视频在线看网址| 区一区二视频| 久久人妻少妇嫩草av蜜桃| 色欲综合视频天天天| 黄色免费在线看| 久久99欧美| 精品在线观看免费| 日韩少妇高潮抽搐| 色噜噜狠狠狠综合曰曰曰| 极品束缚调教一区二区网站 | 国产精品中文字幕一区二区三区| 日韩手机在线观看| 久久精品国产一区二区电影| 98视频精品全部国产| 992kp快乐看片永久免费网址| 亚洲精品日韩一| а√天堂中文在线资源bt在线| 国产精品久久7| 欧美aⅴ一区二区三区视频| 精品无码人妻一区二区三区品| 在线视频国产日韩| 免费看久久久| 污免费在线观看|