国产免费无码又爽又刺激高潮_国产亚洲欧美在线人成aaaa_亚洲av永久无码精品尤物_专区久久五月天_国内精品久久人妻无码妲己影院

專題欄目:ARVRMR虛擬現(xiàn)實(shí)

《Effective C#:改善C#代碼的50個有效方法》

書籍簡介:

本書分為5個章節(jié),第1章介紹一些常見的語言結(jié)構(gòu),它們是開發(fā)者手頭必備的工具,無論創(chuàng)建什么樣的類型與算法,都離不開它們;第2章介紹一些設(shè)計習(xí)慣,告訴你應(yīng)該怎樣把代碼寫得與托管環(huán)境相協(xié)調(diào);第3章講解怎樣用泛型取代System.Object以及強(qiáng)制類型轉(zhuǎn)換,并討論一些高級技術(shù),如約束、泛型特化、方法約束以及向后兼容等;第4章講解LINQ、查詢語法以及與之相關(guān)的語言特性,包括什么時候運(yùn)用擴(kuò)展方法把協(xié)定與實(shí)現(xiàn)相分離、怎樣有效地使用閉包以及如何編寫匿名類型等;第5章指引你把C#程序中的異常與錯誤處理好。

作者簡介:

[美]比爾·瓦格納(Bill Wagner)

出版日期:

2018年05月

章節(jié)目錄:

本書贊譽(yù)
譯者序
前言
第1章 C#語言的編程習(xí)慣1
第1條:優(yōu)先使用隱式類型的局部變量1
第2條:考慮用readonly代替const8
第3條:優(yōu)先考慮is或as運(yùn)算符,盡量少用強(qiáng)制類型轉(zhuǎn)換12
第4條:用內(nèi)插字符串取代string.Format()20
第5條:用FormattableString取代專門為特定區(qū)域而寫的字符串24
第6條:不要用表示符號名稱的硬字符串來調(diào)用 API26
第7條:用委托表示回調(diào)28
第8條:用null條件運(yùn)算符調(diào)用事件處理程序31
第9條:盡量避免裝箱與取消裝箱這兩種操作34
第10條:只有在應(yīng)對新版基類與現(xiàn)有子類之間的沖突時才應(yīng)該使用 new修飾符38
第2章 .NET的資源管理42
第11條:理解并善用 .NET的資源管理機(jī)制42
第12條:聲明字段時,盡量直接為其設(shè)定初始值47
第13條:用適當(dāng)?shù)姆绞匠跏蓟愔械撵o態(tài)成員50
第14條:盡量刪減重復(fù)的初始化邏輯52
第15條:不要創(chuàng)建無謂的對象60
第16條:絕對不要在構(gòu)造函數(shù)里面調(diào)用虛函數(shù)64
第17條:實(shí)現(xiàn)標(biāo)準(zhǔn)的dispose 模式67
第3章 合理地運(yùn)用泛型74
第18條:只定義剛好夠用的約束條件76
第19條:通過運(yùn)行期類型檢查實(shí)現(xiàn)特定的泛型算法82
第20條:通過IComparable及IComparer定義順序關(guān)系88
第21條:創(chuàng)建泛型類時,總是應(yīng)該給實(shí)現(xiàn)了IDisposable的類型參數(shù)提供支持95
第22條:考慮支持泛型協(xié)變與逆變98
第23條:用委托要求類型參數(shù)必須提供某種方法104
第24條:如果有泛型方法,就不要再創(chuàng)建針對基類或接口的重載版本110
第25條:如果不需要把類型參數(shù)所表示的對象設(shè)為實(shí)例字段,那么應(yīng)該優(yōu)先考創(chuàng)建泛型方法,而不是泛型類114
第26條:實(shí)現(xiàn)泛型接口的同時,還應(yīng)該實(shí)現(xiàn)非泛型接口118
第27條:只把必備的契約定義在接口中,把其他功能留給擴(kuò)展方法去實(shí)現(xiàn)124
第28條:考慮通過擴(kuò)展方法增強(qiáng)已構(gòu)造類型的功能128
第4章 合理地運(yùn)用LINQ131
第29條:優(yōu)先考慮提供迭代器方法,而不要返回集合131
第30條:優(yōu)先考慮通過查詢語句來編寫代碼,而不要使用循環(huán)語句137
第31條:把針對序列的API設(shè)計得更加易于拼接142
第32條:將迭代邏輯與操作、謂詞及函數(shù)解耦149
第33條:等真正用到序列中的元素時再去生成153
第34條:考慮通過函數(shù)參數(shù)來放松耦合關(guān)系155
第35條:絕對不要重載擴(kuò)展方法162
第36條:理解查詢表達(dá)式與方法調(diào)用之間的映射關(guān)系165
第37條:盡量采用惰性求值的方式來查詢,而不要及早求值177
第38條:考慮用lambda表達(dá)式來代替方法182
第39條:不要在Func與Action中拋出異常186
第40條:掌握盡早執(zhí)行與延遲執(zhí)行之間的區(qū)別188
第41條:不要把開銷較大的資源捕獲到閉包中193
第42條:注意IEnumerable與IQueryable形式的數(shù)據(jù)源之間的區(qū)別206
第43條:用Single()及First()來明確地驗證你對查詢結(jié)果所做的假設(shè)211
第44條:不要修改綁定變量214
第5章 合理地運(yùn)用異常220
第45條:考慮在方法約定遭到違背時拋出異常220
第46條:利用using與try/finally來清理資源224
第47條:專門針對應(yīng)用程序創(chuàng)建異常231
第48條:優(yōu)先考慮做出強(qiáng)異常保證237
第49條:考慮用異常篩選器來改寫先捕獲異常再重新拋出的邏輯244
第50條:合理利用異常篩選器的副作用來實(shí)現(xiàn)某些效果248
中英文詞匯對照表252

封面圖:

發(fā)表評論

相關(guān)文章