C#程式設計語言(原書第3版)(C#之父著作) ( 簡體 字) |
作者:(美)Anders Hejlsberg;Mads Torgersen;Scott Wiltamuth | 類別:1. -> 程式設計 -> .NET -> C# |
譯者:顧雁宏;徐旭銘 |
出版社:機械工業出版社 | 3dWoo書號: 24282 詢問書籍請說出此書號!【缺書】 【不接受訂購】 |
出版日:1/1/2010 |
頁數:548 |
光碟數: |
|
站長推薦:  |
印刷: | 語系: ( 簡體 版 ) |
|
【不接受訂購】 |
ISBN:9787111282617 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:
C#項目始于10年之前的1998年12月,當初的目標是要為全新的(還未命名的).NET平臺創造一種簡單、現代化、面對對象和類型安全的編程語言。一路走來,C#也算是歷經坎坷。現在這門語言已經有超過一百萬的程序員,發布了3個版本,其中每一版都加入許多重大的新特性。. 而本書也一樣出到了第3版。作為一本C#語言完整的技術規范,第3版和之前的兩個版本有很多不同的地方。其中最顯著的當然就是它覆蓋了所有C# 3.0的新特性,包括對象和集合初始化、匿名類型、lambda表達式、查詢表達式和局部方法。絕大多數這些特性都是為了支持一種更加函數式和聲明式的編程風格,具體來講,就是語言集成查詢(LINQ),它提供了一種統.. |
內容簡介:C#語言結合了快速應用開發語言的高效和C/C++語言的強大。現在C# 3.0又加入了函數式編程技術和語言集成查詢(Language INtegrated Query,LINQ)。本書正是C# 3.0的權威技術指南。. |
目錄:
序. 作者簡介 注解者簡介 前言 第1章 介紹 1 1.1 Hello,World 2 1.2 程序結構 3 1.3 類型和變量 5 1.4 表達式 7 1.5 語句 9 1.6 類和對象 13 1.6.1 成員 13 1.6.2 訪問控制 14 1.6.3 類型參數 14 1.6.4 基類 15 1.6.5 字段 16 1.6.6 方法 17 1.6.7 其他函數成員 25 1.7 結構 30 1.8 數組 32 1.9 接口 34 1.10 枚舉 35 1.11 委托 37 1.12 特性 40 第2章 詞法結構 42 2.1 程序 42 2.2 文法 42 2.2.1 文法表示法 42 2.2.2 詞法文法 43 2.2.3 語法文法 43 2.3 詞法分析 43 2.3.1 行終結符 44 2.3.2 注釋 45 2.3.3 空白符 46 2.4 標記 46 2.4.1 Unicode字符轉義序列 46 2.4.2 標識符 47 2.4.3 關鍵字 49 2.4.4 字量 50 2.4.5 操作符和標點符號 56 2.5 預處理指令 56 2.5.1 條件編譯符號 57 2.5.2 預處理表達式 58 2.5.3 聲明指令 58 2.5.4 條件編譯指令 59 2.5.5 診斷指令 62 2.5.6 區域指令 63 2.5.7 行指令 63 2.5.8 編譯指示指令 64 第3章 基本概念 66 3.1 應用程序起始 66 3.2 應用程序終止 67 3.3 聲明 67 3.4 成員 70 3.4.1 命名空間成員 70 3.4.2 結構成員 70 3.4.3 枚舉成員 71 3.4.4 類成員 71 3.4.5 接口成員 71 3.4.6 數組成員 71 3.4.7 委托成員 71 3.5 成員訪問 71 3.5.1 聲明可訪問性 72 3.5.2 可訪問域 73 3.5.3 實例成員的保護訪問 75 3.5.4 訪問限制 77 3.6 簽名和重載 78 3.7 作用域 79 3.7.1 名字隱藏 82 3.8 命名空間和類型名稱 84 3.8.1 完全限定名 86 3.9 自動化內存管理 87 3.10 執行順序 91 第4章 類型 92 4.1 值類型 92 4.1.1 System.ValueType類型 93 4.1.2 默認構造函數 93 4.1.3 結構類型 94 4.1.4 簡單類型 94 4.1.5 整數類型 95 4.1.6 浮點數類型 96 4.17 decimal類型 97 4.1.8 bool類型 98 4.1.9 枚舉類型 99 4.1.10 可空值類型 99 4.2 引用類型 100 4.2.1 類類型 100 4.2.2 Object類型 101 4.2.3 String類型 101 4.2.4 接口類型 101 4.2.5 數組類型 101 4.2.6 委托類型 101 4.3 裝箱和拆箱 102 4.3.1 裝箱轉換 102 4.3.2 拆箱轉換 103 4.4 構造類型 104 4.4.1 類型實參 105 4.4.2 開放式和封閉式類型 105 4.4.3 綁定和未綁定類型 106 4.4.4 滿足限制 106 4.5 類型參數 107 4.6 表達式樹類型 108 第5章 變量 110 5.1 變量類別 110 5.1.1 靜態變量 110 5.1.2 實例變量 110 5.1.3 數組元素 111 5.1.4 值參數 111 5.1.5 引用參數 111 5.1.6 輸出參數 112 5.1.7 局部變量 112 5.2 默認值 113 5.3 明確賦值 114 5.3.1 初始賦值的變量 114 5.3.2 未賦初值的變量 115 5.3.3 確定明確賦值的精確規則 115 5.4 變量引用 125 5.5 變量引用的原子性 125 第6章 轉換 126 6.1 隱式轉換 126 6.1.1 標識轉換 127 6.1.2 隱式數字轉換 127 6.1.3 隱式枚舉轉換 127 6.1.4 隱式可空值轉換 128 6.1.5 Null字量轉換 128 6.1.6 隱式引用轉換 128 6.1.7 裝箱轉換 129 6.1.8 隱式常量表達式轉換 130 6.1.9 帶類型參數的隱式轉換 130 6.1.10 自定義隱式轉換 130 6.1.11 匿名函數轉換和方法組轉換 130 6.2 顯式轉換 130 6.2.1 顯式數字轉換 131 6.2.2 顯式枚舉轉換 132 6.2.3 顯式可空值轉換 133 6.2.4 顯式引用轉換 133 6.2.5 拆箱轉換 134 6.2.6 帶類型參數的顯式轉換 134 6.2.7 自定義顯式轉換 135 6.3 標準轉換 136 6.3.1 標準隱式轉換 136 6.3.2 標準顯式轉換 136 6.4 自定義轉換 136 6.4.1 允許的自定義轉換 136 6.4.2 提升轉換操作符 137 6.4.3 自定義轉換的計算 137 6.4.4 自定義隱式轉換 138 6.4.5 自定義顯式轉換 139 6.5 匿名函數轉換 140 6.5.1 匿名函數到委托類型轉換的計算 140 6.5.2 匿名函數到表達式樹類型轉換的 計算 141 6.5.3 實現舉例 141 6.6 方法組轉換 144 第7章 表達式 147 7.1 表達式分類 147 7.1.1 表達式的值 148 7.2 操作符 148 7.2.1 操作符優先級和結合性 149 7.2.2 操作符重載 150 7.2.3 一元操作符重載決策 151 7.2.4 二元操作符重載決策 151 7.2.5 候選自定義操作符 152 7.2.6 數字提升 152 7.2.7 提升操作符 154 7.3 成員查找 154 7.3.1 基礎類型 156 7.4 函數成員 156 7.4.1 參數列表 158 7.4.2 類型推導 160 7.4.3 重載決策 165 7.4.4 函數成員調用 168 7.5 基礎表達式 169 7.5.1 字量 170 7.5.2 簡單名字 170 7.5.3 括號表達式 172 7.5.4 成員訪問 173 7.5.5 調用表達式 175 7.5.6 元素訪問 180 7.5.7 this訪問 182 7.5.8 base訪問 182 7.5.9 后綴遞增和遞減操作符 183 7.5.10 new操作符 184 7.5.11 typeof操作符 195 7.5.12 checked和unchecked操作符 197 7.5.13 默認值表達式 199 7.5.14 匿名方法表達式 200 7.6 一元操作符 200 7.6.1 一元加號操作符 200 7.6.2 一元減號操作符 200 7.6.3 邏輯否操作符 201 7.6.4 按位求補操作符 201 7.6.5 前綴遞增和遞減操作符 202 7.6.6 轉換表達式 203 7.7 算術操作符 204 7.7.1 乘法操作符 204 7.7.2 除法操作符 205 7.7.3 求余操作符 206 7.7.4 加法操作符 207 7.7.5 減法操作符 209 7.8 移位操作符 211 7.9 關系和類型測試操作符 212 7.9.1 整數比較操作符 212 7.9.2 浮點數比較操作符 213 7.9.3 小數比較操作符 214 7.9.4 布爾值相等操作符 214 7.9.5 枚舉比較操作符 215 7.9.6 引用類型相等操作符 215 7.9.7 字符串相等操作符 217 7.9.8 委托相等操作符 217 7.9.9 相等操作符和null 218 7.9.10 is操作符 218 7.9.11 as操作符 218 7.10 邏輯操作符 220 7.10.1 整數邏輯操作符 220 7.10.2 枚舉邏輯操作符 220 7.10.3 布爾值邏輯操作符 221 7.10.4 可空值布爾邏輯操作符 221 7.11 條件邏輯操作符 221 7.11.1 布爾條件邏輯操作符 222 7.11.2 自定義條件邏輯操作符 222 7.12 Null拼接操作符 223 7.13 條件操作符 224 7.14 匿名函數表達式 225 7.14.1 匿名函數簽名 227 7.14.2 匿名函數主體 227 7.14.3 重載決策 228 7.14.4 外部變量 229 7.14.5 匿名函數表達式的計算 232 7.15 查詢表達式 232 7.15.1 查詢表達式里的歧義 234 7.15.2 查詢表達式翻譯 234 7.15.3 查詢表達式模式 242 7.16 賦值操作符 244 7.16.1 簡單賦值 244 7.16.2 組合賦值 247 7.16.3 事件賦值 248 7.17 表達式 248 7.18 常量表達式 248 7.19 布爾表達式 249 第8章 語句 251 8.1 終點和可及性 251 8.2 塊 253 8.2.1 語句列表.. 253 8.3 空語句 254 8.4 標簽語句 254 8.5 聲明語句 255 8.5.1 局部變量聲明 255 8.5.2 局部常量聲明 257 8.6 表達式語句 258 8.7 選擇語句 258 8.7.1 if語句 258 8.7.2 switch語句 259 8.8 迭代語句 263 8.8.1 while語句 263 8.8.2 do語句 264 8.8.3 for語句 264 8.8.4 foreach語句 266 8.9 跳轉語句 269 8.9.1 break語句 270 8.9.2 continue語句 270 8.9.3 goto語句 271 8.9.4 return語句 272 8.9.5 throw語句 273 8.10 try語句 274 8.11 checked和unchecked語句 277 8.12 lock語句 277 8.13 using語句 279 8.14 yield語句 281 第9章 命名空間 284 9.1 編譯單元 284 9.2 命名空間聲明 284 9.3 Extern別名 286 9.4 using指令 286 9.4.1 using別名指令 287 9.4.2 using命名空間指令 290 9.5 命名空間成員 292 9.6 類型聲明 292 9.7 命名空間別名限定符 293 9.7.1 別名的唯一性 294 第10章 類 295 10.1 類聲明 295 10.1.1 類修飾符 295 10.1.2 partial修飾符 297 10.1.3 類型形參 297 10.1.4 類基礎規范 298 10.1.5 類型形參限制 300 10.1.6 類主體 305 10.2 局部類型 305 10.2.1 特性 306 10.2.2 修飾符 306 10.2.3 類型形參和限制 306 10.2.4 基類 307 10.2.5 基礎接口 307 10.2.6 成員 308 10.2.7 局部方法 308 10.2.8 名字綁定 311 10.3 類成員 312 10.3.1 實例類型 313 10.3.2 構造類型的成員 313 10.3.3 繼承 315 10.3.4 new修飾符 315 10.3.5 訪問修飾符 316 10.3.6 組成類型 316 10.3.7 靜態成員和實例成員 316 10.3.8 嵌套類型 317 10.3.9 保留成員名 321 10.4 常量 323 10.5 字段 325 10.5.1 靜態字段和實例字段 326 10.5.2 只讀字段 327 10.5.3 易失字段 329 10.5.4 字段初始化 330 10.5.5 字段初始化語句 330 10.6 方法 333 10.6.1 方法形參 335 10.6.2 靜態和實例方法 341 10.6.3 虛擬方法 341 10.6.4 覆寫方法 343 10.6.5 密封方法 346 10.6.6 抽象方法 347 10.6.7 外部方法 348 10.6.8 局部方法 349 10.6.9 擴展方法 349 10.6.10 方法主體 350 10.6.11 方法重載 351 10.7 屬性 351 10.7.1 靜態屬性和實例屬性 352 10.7.2 訪問器 352 10.7.3 自動實現的屬性 358 10.7.4 可訪問性 358 10.7.5 虛擬.密封.覆寫和抽象訪問器 360 10.8 事件 362 10.8.1 類似字段的事件 364 10.8.2 事件訪問器 365 10.8.3 靜態事件和實例事件 367 10.8.4 虛擬.密封.覆寫和抽象訪問器 367 10.9 索引 367 10.9.1 索引重載 371 10.10 操作符 371 10.10.1 一元操作符 372 10.10.2 二元操作符 373 10.10.3 轉換操作符 374 10.11 實例構造函數 376 10.11.1 構造函數初始化語句 377 10.11.2 實例字段初始化語句 379 10.11.3 構造函數的執行 379 10.11.4 默認構造函數 381 10.11.5 私有構造函數 381 10.11.6 可選的實例構造函數參數 382 10.12 靜態構造函數 383 10.13 析構函數 385 10.14 迭代器 387 10.14.1 計數接口 388 10.14.2 枚舉接口 388 10.14.3 Yield類型 388 10.14.4 計數對象 388 10.14.5 枚舉對象 390 10.14.6 實現舉例 391 第11章 結構 399 11.1 結構聲明 399 11.1.1 結構修飾符 399 11.1.2 partial修飾符 400 11.1.3 結構接口 400 11.1.4 結構主體 400 11.2 結構成員 400 11.3 類和結構的區別 401 11.3.1 值語義 401 11.3.2 繼承 402 11.3.3 賦值 402 11.3.4 默認值 402 11.3.5 裝箱和拆箱 403 11.3.6 this的含義 405 11.3.7 字段初始化語句 405 11.3.8 構造函數 406 11.3.9 析構函數 407 11.3.10 靜態構造函數 407 11.4 結構舉例 407 11.4.1 數據庫整數類型 407 11.4.2 數據庫布爾類型 409 第12章 數組 412 12.1 數組類型 412 12.1.1 System.Array類型 413 12.1.2 數組和泛型IList接口 413 12.2 數組創建 414 12.3 數組元素訪問 414 12.4 數組成員 414 12.5 數組協變 414 12.6 數組初始化語句 415 第13章 接口 417 13.1 接口聲明 417 13.1.1 接口修飾符 417 13.1.2 partial修飾符 418 13.1.3 基礎接口 418 13.1.4 接口主體 419 13.2 接口成員 419 13.2.1 接口方法 420 13.2.2 接口屬性 420 13.2.3 接口事件 421 13.2.4 接口索引 421 13.2.5 接口成員訪問 421 13.3 完全限定接口成員名 423 13.4 接口實現 424 13.4.1 顯式接口成員實現 425 13.4.2 實現接口的唯一性 427 13.4.3 泛型方法的實現 428 13.4.4 接口映射 429 13.4.5 接口實現繼承 432 13.4.6 重新實現接口 433 13.4.7 抽象類和接口 435 第14章 枚舉 437 14.1 枚舉聲明 437 14.2 枚舉修飾符 438 14.3 枚舉成員 438 14.4 System.Enum類型 440 14.5 枚舉值和操作 440 第15章 委托 442 15.1 委托聲明 442 15.2 委托兼容性 444 15.3 委托實例化 445 15.4 委托調用 445 第16章 異常 448 16.1 異常產生的原因 448 16.2 System.Exception類 448 16.3 異常是如何處理的 449 16.4 常見的異常類 449 第17章 特性 450 17.1 特性類 450 17.1.1 特性的用法 450 17.1.2 位置和已命名參數 452 17.1.3 特性形參類型 453 17.2 特性規范 453 17.3 特性實例 458 17.3.1 特性的編譯 459 17.3.2 在運行時獲取一個特性實例 459 17.4 保留特性 459 17.4.1 AttributeUsage特性 459 17.4.2 Conditional特性 460 17.4.3 Obsolete特性 464 17.5 用于互操作的特性 465 17.5.1 和COM以及Win32組件互操作 465 17.5.2 和其他.NET語言互操作 465 第18章 不安全的代碼 466 18.1 不安全的上下文 466 18.2 指針類型 469 18.3 固定變量和可移動變量 471 18.4 指針轉換 472 18.4.1 指針數組 473 18.5 表達式里的指針 474 18.5.1 指針間接尋址 474 18.5.2 指針成員訪問 475 18.5.3 指針元素訪問 476 18.5.4 取地址操作符 476 18.5.5 指針遞增和遞減 477 18.5.6 指針算術 477 18.5.7 指針比較 478 18.5.8 sizeof操作符 479 18.6 fixed語句 479 18.7 定長緩沖區 483 18.7.1 定長緩沖區聲明 483 18.7.2 表達式里的定長緩沖區 485 18.7.3 明確賦值檢查 486 18.8 棧分配 486 18.9 動態內存分配 487 附錄A 文檔注釋 490 附錄B 文法 512 附錄C 參考資料... 549
|
序: |