C#經典實例(第4版)(簡體書)
商品資訊
系列名:圖靈程序設計叢書
ISBN13:9787115435095
出版社:人民郵電出版社
作者:(美)傑伊.希爾亞德; 斯蒂芬.泰耶
譯者:徐敬德
出版日:2016/10/01
裝訂/頁數:平裝/592頁
規格:23.5cm*16.8cm (高/寬)
商品簡介
作者簡介
作者:[美]傑伊·希爾亞德(Jay Hilyard)、 斯蒂芬·泰耶(Stephen Teilhet) 譯者:徐敬德
Jay Hilyard 擁有20多年為Windows平臺開發應用程式的經驗,為.NET平臺開發應用也超過了15年。他在MSDN Magazine上發表過很多文章,目前在新罕布什爾州朴茨茅斯的Newmarket(Amadeus的一家子公司)工作。
Stephen Teilhet 從pre-alpha版就開始使用.NET平臺,並且一直使用至今。他任職於IBM,是源代碼靜態安全分析工具的主管安全研究員。這一工具用於發現多種語言中的安全漏洞,如C#和Visual Basic。
徐敬德 2001年開始接觸和使用.NET和C#,之後持續關注C#語言發展,使用C#開發過ERP套件、商務智慧軟體、Unity遊戲,曾負責將大眾點評網早期.NET 1.x網站遷移到基於.NET 2.0的SOA架構。歷任大眾點評網系統架構師、成都夢工廠技術總監、深圳豈凡CTO,有三年自主創業經歷。
名人推薦
編輯推薦
這是一本全面的C#編程參考書,用150多個範例詳細探討了C#開發中的諸多問題。所有範例中的代碼均經過驗證,可以直接在應用程式中重用。
第4版重新編寫了許多解決方案,以充分利用C#新的創新,例如新的運算式級別功能、成員聲明功能和語句級別功能。本書還在範例中納入了動態編程和非同步編程的新應用,幫助讀者瞭解如何應用這些語言特性。
本書涵蓋以下主題:
類和泛型
集合、枚舉器和迭代器
資料類型
LINQ和lambda運算式
異常處理
反射和動態編程
正則運算式
檔系統交互
網路和Web
XML的使用
線程、同步和併發
媒體推薦
“一本出色的編程指南,適合隨時放在手邊參考。書中的解決方案和小提示可以幫助開發人員節省大量時間。”
——Steve Munyan,國際評級機構晨星旗下ByAllAccounts公司高級軟體工程師經理
目次
目錄
第1章 類和泛型 1
1.0 簡介 1
1.1 創建聯合類型的結構 3
1.2 使類型可排序 5
1.3 使類型可查找 9
1.4 從一個方法返回多個資料項目 12
1.5 解析命令行參數 15
1.6 在運行時初始化常量欄位 25
1.7 構建可克隆的類 28
1.8 確保對象的處置 31
1.9 確定何時何處使用泛型 33
1.10 理解泛型類型 34
1.11 反轉有序列表中的內容 41
1.12 約束類型參數 43
1.13 將泛型變數初始化為預設值 46
1.14 向生成的實體中添加鉤子 48
1.15 控制如何觸發多播委託中的一個委託 50
1.16 在C#中使用閉包 56
1.17 使用函數物件在列表中執行多種操作 61
1.18 控制結構類型欄位初始化 64
1.19 以更簡潔的方式檢查null值 68
第2章 集合、枚舉器和迭代器 72
2.0 簡介 72
2.1 尋找List中的重復資料項 74
2.2 保持List有序 78
2.3 對Dictionary 的鍵和/或值排序 80
2.4 創建具有最小值和最大值邊界的Dictionary 82
2.5 在應用程式會話間持久化一個集合 84
2.6 測試Array或List中的每個元素 86
2.7 創建自定義枚舉器 88
2.8 處理finally語句塊和迭代器 91
2.9 在類中實現嵌套的foreach功能 95
2.10 使用線程安全的字典進行併發訪問,不手動加鎖 99
第3章 資料類型 106
3.0 簡介 106
3.1 把二進位資料編碼為base64格式 108
3.2 解碼base64編碼的二進位資料 109
3.3 把作為byte[]返回的字串轉換為字串 110
3.4 把字串傳遞給只接受byte[]的方法 112
3.5 確定一個字串是否為有效的數字 113
3.6 舍入浮點值 114
3.7 選擇一種舍入演算法 115
3.8 安全地執行窄化資料轉換 116
3.9 測試有效的枚舉值 118
3.10 在位遮罩中使用枚舉成員 120
3.11 確定是否設置了一個或多個枚舉標誌 122
第4章 語言集成查詢和lambda運算式 126
4.0 簡介 126
4.1 查詢消息佇列 128
4.2 對資料使用集合語義 132
4.3 利用LINQ to SQL重用參數化查詢 136
4.4 以文化敏感的方式對結果排序 138
4.5 添加用於LINQ的函數式擴展 141
4.6 跨資料庫執行查詢和聯接 144
4.7 利用LINQ查詢配置檔 147
4.8 從資料庫直接創建XML檔 150
4.9 有選擇地輸出查詢結果 162
4.10 將LINQ用於不支援IEnumerable的集合 165
4.11 執行高級介面查找 167
4.12 使用lambda運算式 168
4.13 在lambda運算式中使用不同的參數修飾符 173
4.14 用並行來加速LINQ操作 176
第5章 調試和異常處理 187
5.0 簡介 187
5.1 知道何時捕獲並重新引發異常 193
5.2 處理通過反射調用的方法引發的異常 194
5.3 創建新的異常類型 197
5.4 在首次異常上中斷 204
5.5 處理從非同步委託中引發的異常 209
5.6 利用Exception.Data為異常提供所需的額外資訊 211
5.7 在WinForms應用程式中處理未經處理的異常 213
5.8 在WPF應用程式中處理未經處理的異常 214
5.9 確定一個進程是否停止了回應 217
5.10 在應用程式中使用事件日誌 219
5.11 監視事件日誌中的特定條目 229
5.12 實現一個簡單的性能計數器 230
5.13 為類創建自定義的調試顯示 233
5.14 跟蹤異常從何而來 235
5.15 在非同步情境下處理異常 237
5.16 有選擇地處理異常 243
第6章 反射和動態編程 247
6.0 簡介 247
6.1 列出引用的程式集 248
6.2 確定程式集中的類型特徵 252
6.3 確定繼承特徵 256
6.4 使用反射調用成員 261
6.5 訪問局部變數資訊 264
6.6 創建一個泛型類型 267
6.7 使用dynamic與使用object 268
6.8 動態構建物件 271
6.9 使物件可擴展 275
第7章 正則運算式 284
7.0 簡介 284
7.1 從MatchCollection中提取組 285
7.2 驗證正則運算式的語法 288
7.3 增強基本的字串替換函數 289
7.4 實現一個更好的分詞器 292
7.5 返回匹配所在的整行內容 293
7.6 找到特定次數的匹配 297
7.7 使用常見模式 299
第8章 檔系統I/O 303
8.0 簡介 303
8.1 使用通配符查找目錄和檔 304
8.2 獲取目錄樹 309
8.3 解析路徑 313
8.4 啟動並與控制臺工具交互 314
8.5 鎖定檔的一部分 316
8.6 等待檔系統中的動作發生 320
8.7 比較兩個可執行模組的版本資訊 322
8.8 查詢系統上所有驅動器的資訊 325
8.9 壓縮和解壓縮檔 327
第9章 網路和Web 337
9.0 簡介 337
9.1 處理Web伺服器錯誤 338
9.2 與Web伺服器通信 339
9.3 通過代理伺服器 341
9.4 從一個URL獲取HTML 343
9.5 使用Web流覽器控制項 344
9.6 以編程方式預構建一個ASP.NET網站 346
9.7 為Web應用對資料進行轉義和取消轉義 349
9.8 檢查Web伺服器的自定義錯誤頁 351
9.9 編寫一個TCP伺服器 355
9.10 編寫一個TCP用戶端 362
9.11 模擬表單執行 370
9.12 通過HTTP傳輸資料 373
9.13 使用具名管道進行通信 377
9.14 以編程方式發送ping 386
9.16 使用套接字掃描機器的埠 388
9.17 使用當前的互聯網連接設置 392
9.18 使用FTP傳輸檔 398
第10章 XML 401
10.0 簡介 401
10.1 以文檔順序讀取和訪問XML資料 401
10.2 查詢XML文檔的內容 405
10.3 驗證XML 409
10.4 檢測對XML文檔的修改 413
10.5 處理XML字串中的無效字元 416
10.6 轉換XML 419
10.7 驗證修改過的XML文檔而無需重新載入 427
10.8 擴展轉換 430
10.9 從現有XML檔批量獲取架構 436
10.10 將參數傳遞給轉換 438
第11章 安全 443
11.0 簡介 443
11.1 加密和解密字串 443
11.2 加密和解密檔 447
11.3 清理密碼演算法資訊 452
11.4 避免字串在傳輸或靜止時被篡改 454
11.5 保證安全斷言的安全 460
11.6 驗證是否已授予程式集特定許可權 462
11.7 最小化程式集的攻擊面 463
11.8 獲得安全和/或審計資訊 464
11.9 授權或撤銷對檔或註冊表項的訪問 469
11.10 使用安全字串保護字串資料 472
11.11 保護流資料 474
11.12 加密web.config信息 486
11.13 獲得一個更安全的檔控制碼 488
11.14 保存密碼 489
第12章 線程、同步和併發 496
12.0 簡介 496
12.1 創建每線程靜態欄位 497
12.2 對類成員提供線程安全的訪問 499
12.3 避免沈默的線程終止 505
12.4 在非同步委託完成時獲得通知 507
12.5 私有化存儲線程特定的資料 509
12.6 使用信號量允許資源的多重訪問 512
12.7 使用互斥量同步多個進程 516
12.8 使用事件協調線程 525
12.9 在多線程間執行原子操作 527
12.10 優化以讀為主的訪問 528
12.11 使資料庫請求更具擴展性 541
12.12 以一定順序運行任務 543
第13章 工具箱 549
13.0 簡介 549
13.1 處理作業系統關機、電源管理或用戶會話變化 549
13.2 控制系統服務 554
13.3 列出載入一個程式集的進程 558
13.4 使用本地工作站上的消息佇列 561
13.5 捕獲標準輸出流的輸出 564
13.6 捕獲一個進程的標準輸出 566
13.7 在它自己的AppDomain中運行代碼 568
13.8 確定當前作業系統的作業系統和Service Pack版本 570
關於作者 572
關於封面 572
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

