TOP
英國出版界指標大獎肯定!A.F. Steadman 獲年度作家,《史坎德》系列帶你踏上熱血奇幻旅程
C#編程魔法書(簡體書)
滿額折

C#編程魔法書(簡體書)

商品資訊

人民幣定價:99 元
定價
:NT$ 594 元
優惠價
87517
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點 :15 點
商品簡介
作者簡介
名人推薦
目次

商品簡介

以兩個綜合案例貫穿全書,從語法到多線程/並行編程,從簡單開發到分布式系統,示例代碼均為實戰所需,可拿來即用。《C#編程魔法書》共8章,涵蓋以下知識點。
如何在Windows與Linux平臺安裝和使用.NET框架。
常用.NET框架的基本類庫,以及一些基本的文件處理、編碼國際化等內容。
以封裝交易所接口為例,講解面向物件、依賴注入等常見的編程思想。
反射技術、代碼生成和C#對動態語言的支持。
C#讀寫數據庫,特別是從代碼反向生成數據庫,以及版本迭代中自動對數據庫結構執行升級、降級操作。
基於多線程版的高頻交易程序介紹多線程編程、同步機制、無鎖編程等。
並行編程的技巧及其與多線程編程的異同。
利用消息隊列進行簡單的分布式處理,並通過一個交易所撮合引擎案例介紹分布式編程的基本技巧。

作者簡介

資深軟件工程師和測試工程師,擁有近10年軟件行業從業經驗,精通iOS、Android以及Windows Phone應用程序調試、測試技術。曾經為NET Developer Platform部分框架代碼的提供測試服務,團隊負責的微軟開發框架產品有: CLR, NET BCL, WPF, Silverlight, ASPNET, NET兼容性測試。

名人推薦

(1)資深專家撰寫,注重實戰,技術全面,一書掌握C#編程(2)以2個綜合案例貫穿全書,從語法到多線程/並行編程,從簡單開發到分布式系統,示例代碼均為實戰所需,提供隨書代碼,拿來即用

為什麼要寫這本書
C#是一門上手容易且功能強大的編程語言,支持很多編程場景。在很長一段時間內,C#與NET框架只能運行在Windows平臺上,所以在移動互聯網時代到來後很多公司選擇了可以在開源Linux平臺上運行的Java語言,因此很多程序員認為C#不適合互聯網開發。
隨著NET Core平臺的發布以及微軟開放源代碼,在Linux、macOS等系統上也可以運行C#程序了,這樣就大大擴展了C#的使用場景。
互聯網後端程序:可基於ASPNET MVC或者ASPNET Web API等框架開發。
窗體程序:可基於Windows平臺的Winform和WPF等框架,Linux平臺的Mono和Avalonia等框架,以及針對macOS Visual Studio開發。
桌遊、手遊等遊戲程序:可基於Unity3D開發。
物聯網開發:使用C#比其他編程語言更為便利。
人工智能編程:微軟提供了開源的跨平臺框架MLNET,並且提供了TensorFlow框架的開源NET版本。
出於對NET框架和C#的熱愛,筆者決定寫一本關於C#的書。本書主要以互聯網後端編程的應用場景為例介紹C#語言的各種特性,書中的示例代碼盡量只使用NET框架實現。
讀者物件
本書采取由淺入深的編寫思路,適合的讀者物件包括:
零基礎的編程愛好者
有其他語言編程經驗的開發工程師
中級以下C#開發工程師
開設相關課程的大專院校師生
本書特色
很多C#相關參考書中的代碼示例僅僅局限於要講解的知識點,而且大多數例子非常簡單,讓讀者學完後不知如何實踐,因此筆者在寫作開始就將示例代碼與實際業務場景結合作為第一考量因素。本書主要通過高頻交易程序和交易所撮合引擎兩個示例程序來配合介紹C#編程,內容由淺入深,示例程序的功能也是逐漸豐富的,相信會讓讀者受到啟發。
如何閱讀本書
本書共有8章,各章的主要內容如下。
第1章介紹在Windows和Linux平臺安裝和使用NET框架並進行編程的方法。
第2章介紹常用的NET框架的基本類庫,讓讀者能夠配合C#的語法編寫一些基本的文件處理、編碼國際化等程序。
第3章通過封裝交易所接口的實際案例,介紹面向物件、依賴注入等常見的編程思想。
第4章介紹反射技術、代碼生成和C#對動態語言的支持。由於近幾年人工智能的快速發展, Python這樣的動態語言受到了越來越多的關注。筆者希望通過本章內容向讀者展示C#語言對動態語言這種編程範式的強大支持。而代碼生成技術使用得當可以大大提高開發效率。
第5章介紹C#讀寫數據庫的方法,特別是從代碼反向生成數據庫的方法,並介紹了在後續版本迭代中自動對數據庫結構執行升級、降級操作的方法。
第6章通過多線程版的高頻交易程序來介紹多線程編程、同步機制、無鎖編程等概念。
第7章主要介紹並行編程的技巧及其與多線程編程的異同。
第8章介紹如何使用消息隊列進行簡單的分布式處理,並通過一個交易所撮合引擎案例介紹分布式編程的基本技巧。
在示例代碼的頭部注釋裡,筆者添加了相關的編譯和運行命令,有一些較為復雜的配置和編譯步驟附在源碼目錄文件夾的READMEmd文件中。讀者可以從GitHub下載本書的示例代碼。
由於篇幅限制,筆者對原稿做了一些裁減,並會將這部分內容上傳到GitHub倉庫,存放在名為“裁減章節”的文件夾中。
勘誤和支持
需要特別說明的是,筆者開始寫作時C#最新版本是71,完稿時C# 90版已經發布了,因此本書未能及時引入C# 80和C# 90的功能特性。值得欣慰的是,C#新版本的功能在微軟的官方文檔中有詳細描述,因此新版本的發布並不影響讀者通過本書深入了解C#的豐富特性。
NET框架的功能非常強大,本書只介紹了其在互聯網後臺進行開發的場景。對於其他編程場景,有興趣的讀者可以添加微信(備注“C#編程魔法書讀者”)或發送郵件至郵箱來與我一起討論。由於筆者水平有限,書中難免會出現一些錯誤或者表述不準確的問題,懇請讀者批評指正。
致謝
從2017年12月底高婧雅編輯聯系我寫作本書開始,到2020年12月27日完稿,本書歷時3年。感謝在這麼長的時間內一直支持我的高婧雅編輯以及我的家人,特別感謝我的愛人。
謹以此書獻給我最親愛的家人,以及眾多熱愛C#和NET編程的朋友們!

目次

前言
第1章 快速認識C# /1
11 創建helloworld 2
111 使用文本編輯器和命令行編譯器創建 2
112 使用Visual Studio Community創建 5
113 helloworld源碼解讀 7
114 C#腳本語言 8
12 C#語言特性 9
13 C#與NET框架 10
14 多操作系統支持 12
141 在Ubuntu 1404上安裝和使用NET Core 13
142 跨平臺運行NET Core程序 14
143 在Ubuntu 1404上安裝和使用Mono 15
15 本章小結 17
第2章 C#編程基礎 /18
21 字符串操作 18
211 格式化字符串輸出 19
212 $符號:字符串內插 21
213 字符串比較 22
214 修改字符串 24
215 字符編碼 25
22 正則表達式 31
221 構造分組 33
222 反向引用 37
223 替換 38
23 訪問文件 40
231 文件和文件夾基本操作 40
232 流處理 42
233 管道 45
234 內存映射文件 48
24 編碼國際化 54
25 時間和日期 60
26 本章小結 63
第3章 C#面向物件編程 /64
31 面向物件 64
311 RESTful編程 65
312 WebSocket編程 72
313 面向物件封裝 76
314 使用接口 79
315 使用繼承 81
32 讀寫日志 86
321 使用Debug和Trace記錄日志 86
322 使用第三方日志庫記錄日志 92
323 使用MicrosoftExtensionLogging記錄日志 96
324 記錄日志的推薦方法 99
33 依賴注入 100
34 配置文件 108
341 NET框架配置文件 108
342 NET Core配置文件 111
35 程序案例 117
36 本章小結 119
第4章 反射與動態編程 /120
41 反射 120
411 獲取類型信息 121
412 動態加載 125
413 序列化 128
414 使用特性 132
415 版本控制 140
42 代碼生成和動態執行 146
421 CodeDOM生成源碼 147
422 ReflectionEmit 152
423 IL語言 157
424 多模塊組裝件 161
43 dynamic關鍵字 163
44 動態語言運行時 166
441 IronPython 166
442 DLR 170
45 本章小結 172
第5章 數據處理編程 /173
51 ADONET 175
511 使用ODBC連接數據源 178
512 在線讀寫數據 181
52 Lambda和LINQ 187
521 匿名方法和Lambda表達式 188
522 本地方法 191
53 LINQ 195
531 LINQ to Object 195
532 LINQ to SQL和Entity Framework Core 198
533 LINQ部分源碼解讀 201
534 可空引用類型 205
54 Entity Framework 208
541 使用EF Code First構建和映射數據庫 208
542 使用EF遷移數據庫 212
543 EF對關係的映射 216
544 EF的性能考量 220
55 本章小結 224
第6章 多線程編程 /225
61 多線程編程基礎 225
611 創建和使用多線程 226
612 使用線程池 227
62 多線程同步 229
621 阻塞式等待 229
622 鎖 231
623 信號 242
624 屏障 246
63 主動取消等待 249
631 在線程中主動響應取消請求 250
632 統一的取消任務等待操作 251
64 其他多線程元素 254
641 Lazy 254
642 線程本地存儲 256
643 定時器 259
65 無鎖編程 260
651 內存屏障和volatile關鍵字 260
652 使用無鎖編程 261
66 本章小結 263
第7章 並行編程 /264
71 並行編程基礎 264
711 使用Task類型實現並行 264
712 使用ParallelFor實現並行 268
72 硬件特性 270
721 內存訪問順序 271
722 偽共享 272
73 基於數據並行 275
731 ParallelFor和ParallelForEach 275
732 跳出循環 278
74 基於任務的並行 280
741 網絡異步編程的適用場景 280
742 使用連續任務 281
743 ThreadSleep和TaskDelay的區別 284
75 async和await關鍵字 286
751 使用async和await異步編程 286
752 使用狀態機實現async方法 288
753 async方法實現機制 292
754 擴展async方法 296
755 async方法執行上下文 296
76 函數式編程 298
761 函數式編程簡介 298
762 高階方法 299
763 偏函數應用 300
764 柯裡化方法 301
765 數據封裝 302
766 錯誤處理 304
767 模式匹配 305
77 本章小結 308
第8章 分布式編程 /309
81 C#對分布式編程的支持 309
811 Web服務技術 310
812 Remoting技術 311
813 RESTful API 312
814 gRPC 313
82 分布式系統舉例 323
821 消息隊列 324
822 ZeroMQ 325
823 系統架構 334
824 交易

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 517
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區