| | | 【新華書店 多倉速發】C#圖解教程 第5版 全面涵蓋C#6.0和C#7.0新 | 該商品所屬分類:圖書 -> 編程語言 | 【市場價】 | 739-1072元 | 【優惠價】 | 462-670元 | 【作者】 | 丹尼爾·索利斯 | 【出版社】 | 人民郵電出版社 | 【ISBN】 | 9787115519184 | 【折扣說明】 | 一次購物滿999元台幣免運費+贈品 一次購物滿2000元台幣95折+免運費+贈品 一次購物滿3000元台幣92折+免運費+贈品 一次購物滿4000元台幣88折+免運費+贈品
| 【本期贈品】 | ①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
| |
版本 | 正版全新電子版PDF檔 | 您已选择: | 正版全新 | 溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。*. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。 *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。 *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。 | | | | 內容介紹 | |
出版社:人民郵電出版社 ISBN:9787115519184 商品編碼:62566145240 品牌:文軒 出版時間:2019-11-01 代碼:129 作者:丹尼爾·索利斯,(
" 作 者:(美)丹尼爾·索利斯(Daniel Solis),(美)卡爾·施羅坦博爾(Cal Schrotenboer) 著 竇衍森 等 譯 定 價:129 出 版 社:人民郵電出版社 出版日期:2019年11月01日 頁 數:570 裝 幀:平裝 ISBN:9787115519184 ●第1章C#和.NET框架1 1.1在.NET之前1 1.1.120世紀90年代末的Windows編程1 1.1.2下一代平臺服務的目標2 1.2.NET時代2 1.2.1.NET框架的組成2 1.2.2大大改進的編程環境3 1.3編譯成CIL5 1.4編譯成本機代碼並執行6 1.5CLR7 1.6CLI8 1.7各種縮寫9 1.8C#的演化9 1.9C#和Windows的演化10 第2章C#和.NETCore11 2.1.NET框架的背景11 2.2為什麼選擇.NETCore(和Xamarin)11 2.3.NETCore的目標12 2.4多平臺支持13 2.5快速發展和升級13 2.6程序占用空間小、部署簡單、版本問題少13 2.7開源社區支持14 2.8改進的應用程序性能14 2.9全新的開始14 2.10.NETCore的發展15 2.11.NET框架的未來15 2.12Xamarin的適用之處15 第3章C#編程概述16 3.1一個簡單的C#程序16 3.2標識符18 3.3關鍵字18 3.4Main:程序的起始點19 3.5空白19 3.6語句20 3.7從程序中輸出文本21 3.7.1Write21 3.7.2WriteLine21 3.7.3格式字符串22 3.7.4多重標記和值23 3.7.5格式化數字字符串24 3.8注釋:為代碼添加注解28 3.8.1關於注釋的更多內容28 3.8.2文檔注釋29 3.8.3注釋類型總結29 第4章類型、存儲和變量30 4.1C#程序是一組類型聲明30 4.2類型是一種模板31 4.3實例化類型31 4.4數據成員和函數成員32 4.5預定義類型33 4.6用戶定義類型34 4.7棧和堆35 4.7.1棧35 4.7.2堆36 4.8值類型和引用類型37 4.8.1存儲引用類型對像的成員38 4.8.2C#類型的分類38 4.9變量39 4.9.1變量聲明39 4.9.2多變量聲明41 4.9.3使用變量的值41 4.10靜態類型和dynamic關鍵字41 4.11可空類型42 第5章類的基本概念43 5.1類的概述43 5.2程序和類:一個簡單的示例44 5.3聲明類45 5.4類成員45 5.4.1字段45 5.4.2方法47 5.5創建變量和類的實例48 5.6為數據分配內存48 5.7實例成員49 5.8訪問修飾符50 5.9從類的內部訪問成員52 5.10從類的外部訪問成員53 5.11綜合應用54 第6章方法56 6.1方法的結構56 6.2方法體內部的代碼執行57 6.3局部變量58 6.3.1類型推斷和var關鍵字59 6.3.2嵌套塊中的局部變量59 6.4局部常量60 6.5控制流61 6.6方法調用62 6.7返回值63 6.8返回語句和void方法64 6.9局部函數66 6.10參數66 6.10.1形參67 6.10.2實參67 6.11值參數69 6.12引用參數71 6.13引用類型作為值參數和引用參數73 6.14輸出參數76 6.15參數數組79 6.15.1方法調用80 6.15.2將數組作為實參82 6.16參數類型總結83 6.17ref局部變量和ref返回83 6.18方法重載86 6.19命名參數87 6.20可選參數88 6.21棧幀91 6.22遞歸93 第7章深入理解類95 7.1類成員95 7.2成員修飾符的順序96 7.3實例類成員97 7.4靜態字段98 7.5從類的外部訪問靜態成員98 7.5.1靜態字段示例99 7.5.2靜態成員的生存期100 7.6靜態函數成員101 7.7其他靜態類成員類型102 7.8成員常量102 7.9常量與靜態量103 7.10屬性103 7.10.1屬性聲明和訪問器104 7.10.2屬性示例105 7.10.3使用屬性106 7.10.4屬性和關聯字段106 7.10.5執行其他計算107 7.10.6隻讀和隻寫屬性108 7.10.7屬性與公有字段109 7.10.8計算隻讀屬性示例109 7.10.9自動實現屬性110 7.10.10靜態屬性111 7.11實例構造函數112 7.11.1帶參數的構造函數113 7.11.2默認構造函數114 7.12靜態構造函數114 7.13對像初始化語句116 7.14析構函數117 7.15readonly修飾符117 7.16this關鍵字118 7.17索引器119 7.17.1什麼是索引器120 7.17.2索引器和屬性120 7.17.3聲明索引器121 7.17.4索引器的set訪問器122 7.17.5索引器的get訪問器122 7.17.6關於索引器的更多內容123 7.17.7為Employee示例聲明索引器123 7.17.8另一個索引器示例124 7.17.9索引器重載125 7.18訪問器的訪問修飾符126 7.19分部類和分部類型127 7.20分部方法128 第8章類和繼承130 8.1類繼承130 8.2訪問繼承的成員131 8.3所有類都派生自object類132 8.4屏蔽基類的成員133 8.5基類訪問135 8.6使用基類的引用135 8.6.1虛方法和覆寫方法137 8.6.2覆寫標記為override的方法139 8.6.3覆蓋其他成員類型142 8.7構造函數的執行142 8.7.1構造函數初始化語句144 8.7.2類訪問修飾符145 8.8程序集間的繼承146 8.9成員訪問修飾符148 8.9.1訪問成員的區域149 8.9.2公有成員的可訪問性150 8.9.3私有成員的可訪問性150 8.9.4受保護成員的可訪問性150 8.9.5內部成員的可訪問性151 8.9.6受保護內部成員的可訪問性151 8.9.7成員訪問修飾符小結152 8.10抽像成員153 8.11抽像類154 8.11.1抽像類和抽像方法的示例154 8.11.2抽像類的另一個例子155 8.12密封類156 8.13靜態類156 8.14擴展方法157 8.15命名約定160 第9章表達式和運算符162 9.1表達式162 9.2字面量163 9.2.1整數字面量164 9.2.2實數字面量165 9.2.3字符字面量166 9.2.4字符串字面量167 9.3求值順序168 9.3.1優先級168 9.3.2結合性169 9.4簡單算術運算符170 9.5求餘運算符170 9.6關繫比較運算符和相等比較運算符171 9.7遞增運算符和遞減運算符173 9.8條件邏輯運算符174 9.9邏輯運算符175 9.10移位運算符176 9.11賦值運算符178 9.12條件運算符179 9.算術運算符181 9.14用戶定義的類型轉換181 9.15運算符重載184 9.15.1運算符重載的示例185 9.15.2運算符重載的186 9.16typeof運算符189 9.17nameof運算符190 9.18其他運算符191 第10章語句192 10.1什麼是語句192 10.2表達式語句193 10.3控制流語句194 10.4if語句194 10.5ifelse語句195 10.6while循環196 10.7do循環197 10.8for循環198 10.8.1for語句中變量的作用域200 10.8.2初始化和迭代表達式中的多表達式200 10.9switch語句201 10.9.1分支示例203 10.9.2其他類型的模式表達式203 10.9.3switch語句的補充205 10.9.4分支標簽206 10.10跳轉語句207 10.11break語句207 10.12continue語句208 10.13標簽語句209 10.13.1標簽209 10.13.2標簽語句的作用域209 10.14goto語句210 10.15using語句211 10.15.1包裝資源的使用212 10.15.2using語句的示例212 10.15.3多個資源和嵌套213 10.15.4using語句的另一種形式214 10.16其他語句215 第11章結構216 11.1什麼是結構216 11.2結構是值類型217 11.3對結構賦值218 11.4構造函數和析構函數219 11.4.1實例構造函數219 11.4.2靜態構造函數220 11.4.3構造函數和析構函數小結221 11.5屬性和字段初始化語句221 11.6結構是密封的221 11.7裝箱和拆箱222 11.8結構作為返回值和參數222 11.9關於結構的更多內容222 第12章枚舉223 12.1枚舉223 12.1.1設置底層類型和顯式值225 12.1.2隱式成員編號225 12.2位標志226 12.2.1Flags特性229 12.2.2使用位標志的示例230 12.3關於枚舉的更多內容231 第13章數組234 13.1數組234 13.1.1定義234 13.1.2重要細節235 13.2數組的類型235 13.3數組是對像236 13.4一維數組和矩形數組237 13.5實例化一維數組或矩形數組238 13.6訪素238 13.7初始化數組239 13.7.1顯式初始化一維數組240 13.7.2顯式初始化矩形數組240 13.7.3初始化矩形數組的語法點241 13.7.4快捷語法241 13.7.5隱式類型數組241 13.7.6綜合內容242 13.8交錯數組242 13.8.1聲明交錯數組243 13.8.2快捷實例化243 13.8.3實例化交錯數組244 13.8.4交錯數組中的子數組245 13.9比較矩形數組和交錯數組246 13.10foreach語句247 13.10.1迭代變量是隻讀的248 13.10.2foreach語句和多維數組249 13.11數組協變250 13.12數組繼承的有用成員251 13.13比較數組類型254 13.14數組與ref返回和ref局部變量255 第14章委托256 14.1什麼是委托256 14.2委托概述258 14.3聲明委托類型259 14.4創建委托對像260 14.5給委托賦值261 14.6組合委托262 14.7為委托添加方法262 14.8從委托移除方法263 14.9調用委托263 14.10委托的示例264 14.11調用帶返回值的委托265 14.12調用帶引用參數的委托266 14.13匿名方法267 14.13.1使用匿名方法268 14.13.2匿名方法的語法268 14.13.3變量和參數的作用域270 14.14Lambda表達式271 第15章事件274 15.1發布者和訂閱者274 15.2源代碼組件概覽276 15.3聲明事件276 15.4訂閱事件277 15.5觸發事件278 15.6標準事件的用法280 15.6.1通過擴展EventArgs來傳遞數據281 15.6.2移除事件處理程序283 15.7事件訪問器284 第16章接口286 16.1什麼是接口286 16.2聲明接口291 16.3實現接口292 16.4接口是引用類型294 16.5接口和as運算符295 16.6實現多個接口295 16.7實現具有重復成員的接口296 16.8多個接口的引用298 16.9派生成員作為實現299 16.10顯式接口成員實現300 16.11接口可以繼承接口302 16.12不同類實現一個接口的示例303 第17章轉換305 17.1什麼是轉換305 17.2隱式轉換306 17.3顯式轉換和強制轉換307 17.4轉換的類型308 17.5數字的轉換309 17.5.1隱式數字轉換309 17.5.2溢出檢測上下文310 17.5.3顯式數字轉換311 17.6引用轉換315 17.6.1隱式引用轉換316 17.6.2顯式引用轉換317 17.6.3有效顯式引用轉換318 17.7裝箱轉換318 17.7.1裝箱是創建副本319 17.7.2裝箱轉換320 17.8拆箱轉換320 17.9用戶自定義轉換321 17.9.1用戶自定義轉換的約束322 17.9.2用戶自定義轉換的示例322 17.9.3評估用戶自定義轉換323 17.9.4多步用戶自定義轉換的示例324 17.10is運算符325 17.11as運算符326 第18章泛型327 18.1什麼是泛型327 18.2C#中的泛型329 18.3泛型類330 18.3.1聲明泛型類331 18.3.2創建構造類型331 18.3.3創建變量和實例332 18.3.4使用泛型的棧的示例333 18.3.5比較泛型和非泛型棧334 18.4類型參數的約束335 18.4.1Where子句336 18.4.2約束類型和次序337 18.5泛型方法337 18.5.1聲明泛型方法338 18.5.2調用泛型方法338 18.5.3泛型方法的示例339 18.6擴展方法和泛型類340 18.7泛型結構341 18.8泛型委托342 18.9泛型接口344 18.9.1使用泛型接口的示例345 18.9.2泛型接口的實現必須專享345 18.10協變和逆變346 18.10.1協變346 18.10.2逆變349 18.10.3協變和逆變的不同350 18.10.4接口的協變和逆變351 18.10.5關於可變性的更多內容352 第19章枚舉器和迭代器354 19.1枚舉器和可枚舉類型354 19.2IEnumerator接口356 19.3IEnumerable接口358 19.4泛型枚舉接口360 19.5迭代器362 19.5.1迭代器塊362 19.5.2使用迭代器來創建枚舉器363 19.5.3使用迭代器來創建可枚舉類型365 19.6常見迭代器模式366 19.7產生多個可枚舉類型367 19.8將迭代器作為屬性368 19.9迭代器的實質369 第20章LINQ371 20.1什麼是LINQ371 20.2LINQ提供程序372 20.3方法語法和查詢語法374 20.4查詢變量375 20.5查詢表達式的結構376 20.5.1from子句377 20.5.2join子句378 20.5.3什麼是聯結379 20.5.4查詢主體中的fromletwhere片段381 20.5.5orderby子句384 20.5.6selectgroup子句385 20.5.7查詢中的匿名類型386 20.5.8group子句387 20.5.9查詢延續:into子句388 20.6標準查詢運算符389 20.6.1標準查詢運算符的簽名392 20.6.2查詢表達式和標準查詢運算符393 20.6.3將委托作為參數394 20.6.4LINQ預定義的委托類型395 20.6.5使用委托參數的示例396 20.6.6使用Lambda表達式參數的示例397 20.7LINQtoXML398 20.7.1標記語言398 20.7.2XML基礎398 20.7.3XML類400 20.7.4使用XML特性406 20.7.5其他類型的節點408 20.7.6使用LINQtoXML的LINQ查詢409 第21章異步編程412 21.1什麼是異步412 21.2async/await特性的結構416 21.3什麼是異步方法417 21.3.1異步方法的控制流421 21.3.2取消一個異步操作427 21.3.3在調用方法中同步地等待任務430 21.3.4在異步方法中異步地等待任務433 21.3.5Task.Delay方法435 21.4GUI程序中的異步操作436 21.5使用異步Lambda表達式440 21.6完整的GUI程序441 21.7BackgroundWorker類443 21.8並行循環447 21.9其他異步編程模式450 21.10BeginInvoke和EndInvoke451 21.10.1等待直到完成模式452 21.10.2AsyncResult類453 21.10.3輪詢模式454 21.10.4回調模式455 21.11計時器458 第22章命名空間和程序集460 22.1引用其他程序集460 22.2命名空間464 22.2.1命名空間名稱467 22.2.2命名空間的補充467 22.2.3命名空間跨文件伸展468 22.2.4嵌套命名空間469 22.3using指令470 22.3.1using命名空間指令470 22.3.2using別名指令471 22.3.3usingstatic指令471 22.4程序集的結構472 22.5程序集標識符473 22.6強命名程序集474 22.7私有程序集的部署475 22.8共享程序集和GAC476 22.8.1把程序集安裝到GAC476 22.8.2GAC內的並肩執行477 22.9配置文件477 22.10延遲簽名478 第23章異常480 23.1什麼是異常480 23.2try語句481 23.3異常類482 23.4catch子句483 23.5異常過濾器485 23.6catch子句段485 23.7finally塊486 23.8為異常尋找處理程序487 23.9進一步搜索488 23.9.1一般法則489 23.9.2搜索調用棧的示例489 23.10拋出異常492 23.11不帶異常對像的拋出493 23.12throw表達式494 第24章預處理指令495 24.1什麼是預處理指令495 24.2基本規則495 24.3#define和#undef指令496 24.4條件編譯497 24.5條件編譯結構498 24.6診斷指令500 24.7行號指令501 24.8區域指令502 24.9#pragmawarning指令503 第25章反射和特性504 2數據和反射504 25.2Type類505 25.3獲取Type對像506 25.4什麼是特性508 25.5應用特性509 25.6預定義的保留特性509 25.6.1Obsolete特性509 25.6.2Conditional特性510 25.6.3調用者信息特性512 25.6.4DebuggerStepThrough特性513 25.6.5其他預定義特性514 25.7關於應用特性的更多內容514 25.7.1多個特性514 25.7.2其他類型的目標515 25.7.3全局特性515 25.8自定義特性516 25.8.1聲明自定義特性516 25.8.2使用特性的構造函數516 25.8.3指定構造函數517 25.8.4使用構造函數517 25.8.5構造函數中的位置參數和命名參數518 25.8.6特性的使用518 25.8.7自定義特性的很好實踐520 25.9訪問特性520 25.9.1使用IsDefined方法520 25.9.2使用GetCustomAttributes方法521 第26章C#6.0和C#7.0新增的內容523 26.1新增內容概述524 26.2字符串插值(C#6.0)524 26.3自動屬性初始化語句525 26.4隻讀自動屬性(C#6.0)526 26.5表達式函數體成員(C#6.0和C#7.0)526 26.6usingstatic(C#6.0)527 26.7空條件運算符(C#6.0)528 26.8在catch和finally塊中使用await(C#6.0)528 26.9nameof運算符(C#6.0)529 26.10異常過濾器(C#6.0)529 26.11索引初始化語句(C#6.0)530 26.12集合初始化語句的擴展方法(C#6.0)532 26.13改進的重載決策(C#6.0)533 26.組(C#7.0)534 26.15is模式匹配(C#7.0)534 26.16switch模式匹配(C#7.0)536 26.17自定義析構函數(C#7.0)538 26.18二進制字面量和數字分隔符(C#7.0)540 26.19out變量(C#7.0)541 26.20局部函數(C#7.0)542 26.21ref局部變量(ref變量)和ref返回(C#7.0)544 26.22表達式函數體成員的擴展(C#7.0)544 26.23throw表達式(C#7.0)545 26.24擴展的async返回類型(C#7.0)545 第27章其他主題546 27.1概述546 27.2字符串546 27.3StringBuilder類548 27.4把字符串解析為數據值549 27.5關於可空類型的更多內容550 27.5.1為可空類型賦值552 27.5.2使用空接合運算符552 27.5.3空條件運算符553 27.5.4使用可空用戶定義類型555 27.6Main方法556 27.7文檔注釋558 27.7.1插入文檔注釋558 27.7.2使用其他XML標簽559 27.8嵌套類型559 27.8.1嵌套類的示例560 27.8.2可見性和嵌套類型561 27.9析構函數和dispose模式563 27.9.1標準dispose模式564 27.9.2比較構造函數和析構函數566 27.10Tuple和ValueTuple566 27.11和COM的互操作568 本書是廣受贊譽的《C#圖解教程》的近期新版本。作者在本書中創造了一種全新的可視化敘述方式,以圖文並茂的形式、樸實簡潔的文字,並輔以大量表格和代碼示例,全面、直觀地闡述了C#語言的各種特性。新版本除了精心修訂舊版內容外,還全面涵蓋了C#6.0和C#7.0的新增特性,比如局部函數、throw表達式、nameof和空條件運算符、usingstatic指令、異常過濾器,等等。通過本書,讀者能夠快速、深入地理解C#,為自己的編程生涯打下良好的基礎。
" | | | | | |