[ 收藏 ] [ 简体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  •  管理

     一般管理学
     市场/营销
     会计
     金融/投资
     经管音像
     电子商务
     创业企业与企业家
     生产与运作管理
     商务沟通
     战略管理
     商业史传
     MBA
     管理信息系统
     工具书
     外文原版/影印版
     管理类职称考试
     WTO
     英文原版书-管理
  •  投资理财

     证券/股票
     投资指南
     理财技巧
     女性理财
     期货
     基金
     黄金投资
     外汇
     彩票
     保险
     购房置业
     纳税
     英文原版书-投资理财
  •  经济

     经济学理论
     经济通俗读物
     中国经济
     国际经济
     各部门经济
     经济史
     财政税收
     区域经济
     统计 审计
     贸易政策
     保险
     经济数学
     各流派经济学说
     经济法
     工具书
     通货膨胀
     财税外贸保险类考试
     英文原版书-经济
  •  社会科学

     语言文字
     社会学
     文化人类学/人口学
     新闻传播出版
     社会科学总论
     图书馆学/档案学
     经典名家作品集
     教育
     英文原版书-社会科学
  •  哲学

     哲学知识读物
     中国古代哲学
     世界哲学
     哲学与人生
     周易
     哲学理论
     伦理学
     哲学史
     美学
     中国近现代哲学
     逻辑学
     儒家
     道家
     思维科学
     马克思主义哲学
     经典作品及研究
     科学哲学
     教育哲学
     语言哲学
     比较哲学
  •  宗教

  •  心理学

  •  古籍

     经部  史类  子部  集部  古籍管理  古籍工具书  四库全书  古籍善本影音本  中国藏书
  •  文化

     文化评述  文化随笔  文化理论  传统文化  世界各国文化  文化史  地域文化  神秘文化  文化研究  民俗文化  文化产业  民族文化  书的起源/书店  非物质文化遗产  文化事业  文化交流  比较文化学
  •  历史

     历史普及读物
     中国史
     世界史
     文物考古
     史家名著
     历史地理
     史料典籍
     历史随笔
     逸闻野史
     地方史志
     史学理论
     民族史
     专业史
     英文原版书-历史
     口述史
  •  传记

  •  文学

  •  艺术

     摄影
     绘画
     小人书/连环画
     书法/篆刻
     艺术设计
     影视/媒体艺术
     音乐
     艺术理论
     收藏/鉴赏
     建筑艺术
     工艺美术
     世界各国艺术概况
     民间艺术
     雕塑
     戏剧艺术/舞台艺术
     艺术舞蹈
     艺术类考试
     人体艺术
     英文原版书-艺术
  •  青春文学

  •  文学

     中国现当代随笔
     文集
     中国古诗词
     外国随笔
     文学理论
     纪实文学
     文学评论与鉴赏
     中国现当代诗歌
     外国诗歌
     名家作品
     民间文学
     戏剧
     中国古代随笔
     文学类考试
     英文原版书-文学
  •  法律

     小说
     世界名著
     作品集
     中国古典小说
     四大名著
     中国当代小说
     外国小说
     科幻小说
     侦探/悬疑/推理
     情感
     魔幻小说
     社会
     武侠
     惊悚/恐怖
     历史
     影视小说
     官场小说
     职场小说
     中国近现代小说
     财经
     军事
  •  童书

  •  成功/励志

  •  政治

  •  军事

  •  科普读物

  •  计算机/网络

     程序设计
     移动开发
     人工智能
     办公软件
     数据库
     操作系统/系统开发
     网络与数据通信
     CAD CAM CAE
     计算机理论
     行业软件及应用
     项目管理 IT人文
     计算机考试认证
     图形处理 图形图像多媒体
     信息安全
     硬件
     项目管理IT人文
     网络与数据通信
     软件工程
     家庭与办公室用书
  •  建筑

     执业资格考试用书  室内设计/装潢装修  标准/规范  建筑科学  建筑外观设计  建筑施工与监理  城乡规划/市政工程  园林景观/环境艺术  工程经济与管理  建筑史与建筑文化  建筑教材/教辅  英文原版书-建筑
  •  医学

     中医
     内科学
     其他临床医学
     外科学
     药学
     医技学
     妇产科学
     临床医学理论
     护理学
     基础医学
     预防医学/卫生学
     儿科学
     医学/药学考试
     医院管理
     其他医学读物
     医学工具书
  •  自然科学

     数学
     生物科学
     物理学
     天文学
     地球科学
     力学
     科技史
     化学
     总论
     自然科学类考试
     英文原版书-自然科学
  •  工业技术

     环境科学
     电子通信
     机械/仪表工业
     汽车与交通运输
     电工技术
     轻工业/手工业
     化学工业
     能源与动力工程
     航空/航天
     水利工程
     金属学与金属工艺
     一般工业技术
     原子能技术
     安全科学
     冶金工业
     矿业工程
     工具书/标准
     石油/天然气工业
     原版书
     武器工业
     英文原版书-工业技
  •  农业/林业

     园艺  植物保护  畜牧/狩猎/蚕/蜂  林业  动物医学  农作物  农学(农艺学)  水产/渔业  农业工程  农业基础科学  农林音像
  •  外语

  •  考试

  •  教材

  •  工具书

  •  中小学用书

  •  中小学教科书

  •  动漫/幽默

  •  烹饪/美食

  •  时尚/美妆

  •  旅游/地图

  •  家庭/家居

  •  亲子/家教

  •  两性关系

  •  育儿/早教

  •  保健/养生

  •  体育/运动

  •  手工/DIY

  •  休闲/爱好

  •  英文原版书

  •  港台图书

  •  研究生
     工学
     公共课
     经济管理
     理学
     农学
     文法类
     医学

  •  音乐
     音乐理论

     声乐  通俗音乐  音乐欣赏  钢琴  二胡  小提琴
  • C#入門經典:更新至C# 9和.NET 5
    該商品所屬分類:計算機/網絡 -> 程序設計
    【市場價】
    689-998
    【優惠價】
    431-624
    【作者】 英馬克·J普賴斯Mark 
    【所屬類別】 圖書  計算機/網絡  程序設計  CC++C#VCVC++ 
    【出版社】清華大學出版社 
    【ISBN】9787302583882
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    開本:16開
    紙張:膠版紙
    包裝:平裝-膠訂

    是否套裝:否
    國際標準書號ISBN:9787302583882
    叢書名:.NET開發經典名著

    作者:[英]馬克·J.普賴斯(Mark
    出版社:清華大學出版社
    出版時間:2021年07月 


        
        
    "

    產品特色

    編輯推薦

    在《C#入門經典:更新至C# 9和.NET 5》中,專家級作家Mark J.Price提供了開始編寫C#應用程序所需的一切技能,適用於所有主流操作繫統。
    本書使用當前更流行的Visual Studio Code編輯器開展編程任務,對上一版內容進行了全面的更新和擴展,新增了專門介紹如何使用Blazor構建Web用戶界面的章節。
    本書分為三大部分。部分介紹C#基礎知識,包括面向對像編程和新的C# 9.0語言特性,如程序、面向目標類型的對像實例化以及使用了record關鍵字的不可變類型。第二部分介紹.NET API,用於執行管理和查詢數據、監視和改進性能以及使用文件繫統、異步流、序列化和加密等任務。第三部分介紹如何構建和部署跨平臺的應用程序,例如使用ASP.NET Core構建Web應用程序和Web服務以及使用Xamarin.Forms構建移動應用程序。
    通過學習本書,讀者將掌握使用C# 9.0和.NET 5創建網站、服務和移動應用所需的所有技能。

     
    內容簡介

    主要特色


    ● 使用面向對像編程構建自己的類型


    ● 使用LINQ查詢和操作數據


    ● 使用ASP.NET Core 5構建網站和服務


    ● 使用機器學習創建智能應用


    ● 使用Entity Framework Core和關繫數據庫


    ● 使用UWP和XAML開發Windows應用


    ● 使用Blazor框架構建豐富的Web應用體驗


    ● 使用Xamarin.Forms為iOS和Android開發移動應用

    作者簡介

    Mark J.Price擁有Microsoft Specialist: Programming in C#、MCSD和MCT等微軟編程專家和培訓專家認證,擁有20多年的編程和培訓經驗。自1993年以來,Mark已經通過了80多項微軟編程認證,並且擅長幫助他的學生通過這些認證。他的學生中既有經驗豐富的編程專家,也有初學編程的中學生。


    2001年至2003年,Mark在微軟美國總部工作,編寫官方教學課件。當C#還處於早期的版本時,他的團隊就編寫了個C#培訓課程。在微軟工作期間,Mark負責培訓MCT(微軟認證講師),幫助他們以快的速度掌握C#和.NET的新知識。

    目錄
    第1章 C#與.NET入門 1
    1.1 設置開發環境 1
    1.1.1 使用Visual Studio Code進行
    跨平臺開發 1
    1.1.2 使用GitHub Codespaces在雲中
    進行開發 2
    1.1.3 使用Visual Studio 2019進行
    Windows應用程序開發 3
    1.1.4 使用Visual Studio for Mac 進行
    移動應用程序開發 3
    1.1.5 各章的推薦工具 3
    1.1.6 跨平臺部署 3
    1.1.7 理解Visual Studio Code 版本 4
    1.1.8 下載並安裝 Visual Studio Code 5

    第1章  C#與.NET入門 1
    1.1  設置開發環境 1
    1.1.1  使用Visual Studio Code進行
    跨平臺開發 1
    1.1.2  使用GitHub Codespaces在雲中
    進行開發 2
    1.1.3  使用Visual Studio 2019進行
    Windows應用程序開發 3
    1.1.4  使用Visual Studio for Mac 進行
    移動應用程序開發 3
    1.1.5  各章的推薦工具 3
    1.1.6  跨平臺部署 3
    1.1.7  理解Visual Studio Code 版本 4
    1.1.8  下載並安裝 Visual Studio Code 5
    1.1.9  安裝其他擴展 5
    1.2  理解.NET 6
    1.2.1  理解.NET Framework 6
    1.2.2  理解Mono 和Xamarin 項目 6
    1.2.3  理解.NET Core 7
    1.2.4  了解.NET 5的未來版本 7
    1.2.5  了解.NET支持 8
    1.2.6  .NET Core與.NET 5的區別 10
    1.2.7  了解.NET Standard 10
    1.2.8  本書使用的.NET平臺和工具 11
    1.2.9  理解中間語言 12
    1.2.10  比較.NET技術 12
    1.3  使用Visual Studio Code構建
    控制臺應用程序 12
    1.3.1  使用Visual Studio Code編寫代碼 12
    1.3.2  使用dotnet CLI編譯和運行代碼 14
    1.3.3  編寫程序 14
    1.4  從GitHub存儲庫下載解決
    方案代碼 15
    1.4.1  使用Git和Visual Studio Code 15
    1.4.2  備份圖書解決方案代碼存儲庫 15
    1.5  尋求幫助 16
    1.5.1  閱讀微軟文檔 16
    1.5.2  獲取關於dotnet工具的幫助 16
    1.5.3  獲取類型及其成員的定義 17
    1.5.4  在Stack Overflow上尋找答案 18
    1.5.5  使用谷歌搜索答案 19
    1.5.6  訂閱官方的.NET博客 19
    1.6  實踐和探索 19
    1.6.1  練習1.1:測試你掌握的知識 19
    1.6.2  練習1.2:在任何地方練習C# 20
    1.6.3  練習1.3:探索主題 20
    1.7  本章小結 20
    第2章  C#編程基礎 21
    2.1  介紹C# 21
    2.1.1  理解語言版本和特性 21
    2.1.2  發現C#編譯器版本 24
    2.1.3  啟用特定的語言版本編譯器 25
    2.2  了解C#基本知識 26
    2.2.1  了解C#語法 27
    2.2.2  了解C#詞彙表 28
    2.3  使用變量 32
    2.3.1  命名和賦值 32
    2.3.2  存儲文本 33
    2.3.3  存儲數字 34
    2.3.4  存儲布爾值 38
    2.3.5  使用Visual Studio Code工作區 38
    2.3.6  存儲任何類型的對像 38
    2.3.7  動態存儲類型 39
    2.3.8  聲明局部變量 40
    2.3.9  獲取類型的默認值 41
    2.3.10  存儲多個值 41
    2.4  處理空值 42
    2.4.1  使值類型可空 42
    2.4.2  啟用可空引用類型和不可空
    引用類型 44
    2.4.3  聲明不可為空的變量和參數 44
    2.4.4  檢查null 45
    2.5  深入研究控制臺應用程序 46
    2.5.1  向用戶顯示輸出 46
    2.5.2  理解格式字符串 47
    2.5.3  從用戶那裡獲取文本輸入 48
    2.5.4  導入名稱空間 48
    2.5.5  簡化控制臺的使用 49
    2.5.6  獲取用戶的重要輸入 49
    2.5.7  獲取參數 50
    2.5.8  使用參數設置選項 51
    2.5.9  處理不支持API的平臺 52
    2.6  實踐和探索 52
    2.6.1  練習2.1:測試你掌握的知識 53
    2.6.2  練習2.2:練習數字的大小和範圍 53
    2.6.3  練習2.3:探索主題 53
    2.7  本章小結 54
    第3章  控制程序流程和轉換類型 55
    3.1  操作變量 55
    3.1.1 &nbs運算符 55
    3.1.2 &nbs算術運算符 56
    3.1.3  賦值運算符 57
    3.1.4  邏輯運算符 57
    3.1.5  條件邏輯運算符 58
    3.1.6  按移位運算符 59
    3.1.7  其他運算符 60
    3.2  理解選擇語句 61
    3.2.1  使用if語句進行分支 61
    3.2.2  if語句為什麼應總是使用花括號 62
    3.2.3  模式匹配與if語句 62
    3.2.4  使用switch語句進行分支 63
    3.2.5  模式匹配與switch語句 64
    3.2.6  使用switch表達式簡化switch
    語句 65
    3.3  理解迭代語句 66
    3.3.1  while循環語句 66
    3.3.2  do循環語句 66
    3.3.3  for循環語句 67
    3.3.4  foreach循環語句 67
    3.4  類型轉換 68
    3.4.1  隱式和顯式地轉換數值 68
    3.4.2  使用System.Convert類型進行
    轉換 70
    3.4.3  圓整數字 70
    3.4.4  從任何類型轉換為字符串 71
    3.4.5  從二進制對像轉換為字符串 72
    3.4.6  將字符串轉換為數值或日期和
    時間 73
    3.4.7  在轉換類型時處理異常 74
    3.4.8  檢查溢出 76
    3.5  實踐和探索 78
    3.5.1  練習3.1:測試你掌握的知識 79
    3.5.2  練習3.2:探索循環和溢出 79
    3.5.3  練習3.3:實踐循環和運算符 79
    3.5.4  練習3.4:實踐異常處理 80
    3.5.5  練習3.5:測試你對運算符的認識
    程度 80
    3.5.6  練習3.6:探索主題 80
    3.6  本章小結 81
    第4章  編寫、調試和測試函數 82
    4.1  編寫函數 82
    4.1.1  編寫乘法表函數 82
    4.1.2  編寫帶返回值的函數 84
    4.1.3  編寫數學函數 86
    4.1.4  使用XML注釋解釋函數 89
    4.1.5  在函數實現中使用lambda 90
    4.2  在開發過程中進行調試 92
    4.2.1  創建帶有故意錯誤的代碼 92
    4.2.2  設置斷點 93
    4.2.3  使用調試工具欄進行導航 94
    4.2.4  調試窗格 94
    4.2.5  單步執行代碼 95
    4.2.6  自定義斷點 96
    4.3  在開發和運行時進行日志記錄 97
    4.3.1  使用Debug和Trace類型進行
    插裝 97
    4.3.2  寫入默認的跟蹤偵聽器 98
    4.3.3  配置跟蹤偵聽器 98
    4.3.4  切換跟蹤級別 99
    4.4 &nbs測試函數 102
    4.4.1  創建需要測試的類庫 102
    4.4.2  測試 103
    4.4.3  測試 104
    4.5  實踐和探索 105
    4.5.1  練習4.1:測試你掌握的知識 105
    4.5.2  練習4.2:使用調測試
    練習函數的編寫 105
    4.5.3  練習4.3:探索主題 106
    4.6  本章小結 106
    第5章  使用面向對像編程技術構建
    自己的類型 107
    5.1  面向對像編程 107
    5.2  構建類庫 108
    5.2.1  創建類庫 108
    5.2.2  實例化類 110
    5.2.3  管理多個文件 111
    5.2.4  對像 111
    5.3  在字段中存儲數據 112
    5.3.1  定義字段 112
    5.3.2  理解訪問修飾符 112
    5.3.3  設置和輸出字段值 113
    5.3.4  使用enum類型存儲值 114
    5.3.5  使用enum類型存儲多個值 115
    5.3.6  使用集合存儲多個值 116
    5.3.7  使字段成為靜態字段 117
    5.3.8  使字段成為常量 118
    5.3.9  使字段隻讀 118
    5.3.10  使用構造函數初始化字段 119
    5.3.11  使用默認字面量設置字段 120
    5.4  寫入和調用方法 121
    5.4.1  從方法返回值 121
    5.4.2  組組合多個返回值 122
    5.4.3  定義參數並將參數傳遞給方法 124
    5.4.4  重載方法 124
    5.4.5  傳遞可選參數和命名參數 125
    5.4.6  控制參數的傳遞方式 126
    5.4.7  使用partial關鍵字分割類 128
    5.5  使用屬性和索引器控制訪問 128
    5.5.1  定義隻讀屬性 128
    5.5.2  定義可設置的屬性 129
    5.5.3  定義索引器 130
    5.6  模式匹配和對像 131
    5.6.1  創建和引用.NET 5類庫 131
    5.6.2  定義飛機乘客 132
    5.6.3  C# 9.0對模式匹配做了增強 133
    5.7  使用記錄 134
    5.7.1  init-only屬性 134
    5.7.2  理解記錄 135
    5.7.3  簡化數據成員 135
    5.7.4  位置記錄 136
    5.8  實踐和探索 136
    5.8.1  練習5.1:測試你掌握的知識 137
    5.8.2  練習5.2:探索主題 137
    5.9  本章小結 137
    第6章  實現接口和繼承類 138
    6.1  建立類庫和控制臺應用程序 138
    6.2  簡化方法 140
    6.2.1  使用方法實現功能 140
    6.2.2  使用運算符實現功能 141
    6.2.3  使用局部函數實現功能 142
    6.3  觸發和處理事件 143
    6.3.1  使用委托調用方法 143
    6.3.2  定義和處理委托 144
    6.3.3  定義和處理事件 145
    6.4  實現接口 146
    6.4.1  公共接口 146
    6.4.2  排序時比較對像 146
    6.4.3  使用單獨的類比較對像 148
    6.4.4  使用默認實現定義接口 149
    6.5  使類型可以安全地與泛型
    一起重用 151
    6.5.1  使用泛型類型 152
    6.5.2  使用泛型方法 153
    6.6  使用引用類型和值類型管理內存 154
    6.6.1  處理struct類型 154
    6.6.2  釋放非托管資源 155
    6.6.3  確保調用Dispose方法 157
    6.7  從類繼承 158
    6.7.1  擴展類 158
    6.7.2  隱藏成員 158
    6.7.3  覆蓋成員 159
    6.7.4  防止繼承和覆蓋 160
    6.7.5  理解多態 161


    6.8  在繼承層次結構中進行
    類型轉換 162
    6.8.1  隱式類型轉換 162
    6.8.2  顯式類型轉換 162
    6.8.3  避免類型轉換異常 163
    6.9  繼承和擴展.NET類型 164
    6.9.1  繼承異常 164
    6.9.2  無法繼承時擴展類型 165
    6.10  實踐和探索 167
    6.10.1  練習6.1:測試你掌握的知識 167
    6.10.2  練習6.2:練習創建繼承層次
    結構 167
    6.10.3  練習6.3:探索主題 167
    6.11  本章小結 168
    第7章  理解和打包.NET類型 169
    7.1  .NET 5簡介 169
    7.1.1  .NET Core 1.0 170
    7.1.2  .NET Core 1.1 170
    7.1.3  .NET Core 2.0 170
    7.1.4  .NET Core 2.1 170
    7.1.5  .NET Core 2.2 171
    7.1.6  .NET Core 3.0 171
    7.1.7  .NET 5 171
    7.1.8  從.NET Core 2.0到.NET 5不斷
    提高性能 172
    7.2  了解.NET組件 172
    7.2.1  程序集、包和名稱空間 173
    7.2.2  導入名稱空間以使用類型 175
    7.2.3  將C#關鍵字與.NET類型相關聯 175
    7.2.4  使用.NET Standard類庫在舊平臺
    之間共享代碼 177
    7.3  發布用於部署的應用程序 178
    7.3.1  創建要發布的控制臺應用程序 178
    7.3.2  dotnet命令 179
    7.3.3  發布自包含的應用程序 180
    7.3.4  發布單文件應用 181
    7.3.5  使用app trimming繫統減小應用
    程序的大小 182
    7.4  反編譯程序集 182
    7.5  為NuGet分發打包自己的庫 185
    7.5.1  引用NuGet包 185
    7.5.2  為NuGet打包庫 186
    7.5.3  測試包 188
    7.6  從.NET Framework移植到.NET 5 189
    7.6.1  能移植嗎 189
    7.6.2  應該移植嗎 190
    7.6.3  .NET Framework和.NET 5之間的
    區別 190
    7.6.4  .NET可移植性分析器 190
    7.6.5  使用非.NET Standard類庫 190
    7.7  實踐和探索 192
    7.7.1  練習7.1:測試你掌握的知識 192
    7.7.2  練習7.2:探索主題 192
    7.8  本章小結 193
    第8章  使用常見的.NET類型 194
    8.1  處理數字 194
    8.1.1  處理大的整數 195
    8.1.2  處理復數 195
    8.2  處理文本 196
    8.2.1  獲取字符串的長度 196
    8.2.2  獲取字符串中的字符 196
    8.2.3  拆分字符串 196
    8.2.4  獲取字符串的一部分 197
    8.2.5  檢查字符串的內容 197
    8.2.6  連接、格式化和其他的字符串
    成員方法 198
    8.2.7  高效地構建字符串 199
    8.3  模式匹配與正則表達式 199
    8.3.1  檢查作為文本輸入的數字 199
    8.3.2  正則表達式的語法 200
    8.3.3  正則表達式的例子 201
    8.3.4  分割使用逗號分隔的復雜字符串 201
    8.3.5  改進正則表達式的性能 202
    8.4  在集合中存儲多個對像 203
    8.4.1  所有集合的公共特性 203
    8.4.2  理解集合的選擇 204
    8.4.3  使用列表 206
    8.4.4  使用字典 207
    8.4.5  集合的排序 207
    8.4.6  使用專門的集合 208
    8.4.7  使用不可變集合 208
    8.5  使用Span、索引和範圍 209
    8.5.1  高效地使用內存 209
    8.5.2  用索引類型標識位置 209
    8.5.3  使用Range值類型標識範圍 209
    8.5.4  使用索引和範圍 210
    8.6  使用網絡資源 211
    8.6.1  使用URI、DNS和IP地址 211
    8.6.2  ping服務器 212
    8.7  處理類型和屬性 213
    8.7.1  程序集的版本控制 213
    8.7.2  閱讀數據 214
    8.7.3  創建自定義特性 215
    8.7.4  更多地使用反射 217
    8.8  處理圖像 218
    8.9  國際化代碼 219
    8.10  實踐和探索 221
    8.10.1  練習8.1:測試你掌握的知識 221
    8.10.2  練習8.2:練習正則表達式 222
    8.10.3  練習8.3:練習編寫擴展方法 222
    8.10.4  練習8.4:探索主題 222
    8.11  本章小結 223
    第9章  處理文件、流和序列化 224
    9.1  管理文件繫統 224
    9.1.1  處理跨平臺環境和文件繫統 224
    9.1.2  管理驅動器 225
    9.1.3  管理目錄 226
    9.1.4  管理文件 228
    9.1.5  管理路徑 229
    9.1.6  獲取文件信息 230
    9.1.7  控制如何處理文件 231
    9.2  用流來讀寫 231
    9.2.1  寫入文本流 233
    9.2.2  寫入XML流 234
    9.2.3  文件資源的釋放 235
    9.2.4  壓縮流 237
    9.2.5  使用Brotli算法進行壓縮 238
    9.2.6  使用管道的高性能流 240
    9.2.7  異步流 240
    9.3  編碼和解碼文本 240
    9.3.1  將字符串編碼為字節數組 241
    9.3.2  對文件中的文本進行編碼和解碼 243
    9.4  序列化對像圖 243
    9.4.1  序列化為XML 243
    9.4.2  生成緊湊的XML 245
    9.4.3  反序列化XML文件 246
    9.4.4  用JSON序列化格式 246
    9.4.5  高性能的JSON處理 248
    9.5  實踐和探索 249
    9.5.1  練習9.1:測試你掌握的知識 249
    9.5.2  練習9.2:練習序列化為XML 249
    9.5.3  練習9.3:探索主題 250
    9.6  本章小結 250
    第10章  保護數據和應用程序 251
    10.1  理解數據保護術語 251
    10.1.1  密鑰和密鑰的大小 252
    10.1.2  IV和塊大小 252
    10.1.3  salt 252
    10.1.4  生成密鑰和IV 253
    10.2  加密和解密數據 253
    10.3  哈希數據 257
    10.4  簽名數據 260
    10.5  生成隨機數 263
    10.5.1  為遊戲生成隨機數 263
    10.5.2  為密碼生成隨機數 264
    10.6  密碼學有什麼新內容 264
    10.7  用戶的身份驗證和授權 265
    10.7.1  實現身份驗證和授權 267
    10.7.2  保護應用程序功能 269
    10.8  實踐和探索 270
    10.8.1  練習10.1:測試你掌握的知識 270
    10.8.2  練習10.2:練習使用加密和
    哈希方法保護數據 270
    10.8.3  練習10.3:練習使用解密
    保護數據 270
    10.8.4  練習10.4:探索主題 270
    10.9  本章小結 271
    第11章  使用Entity Framework Core
    處理數據庫 272
    11.1  理解現代數據庫 272
    11.1.1  理解舊的實體框架 272
    11.1.2  理解Entity Framework Core 273
    11.1.3  使用示例關繫數據庫 273
    11.1.4  為SQLite創建Northwind示例
    數據庫 275
    11.1.5  使用SQLiteStudio管理Northwind
    示例數據庫 275
    11.2  設置EF Core 276
    11.2.1  選擇EF Core數據提供程序 276
    11.2.2  安裝dotnet-ef工具 277
    11.2.3  連接到數據庫 277
    11.3  定義EF Core模型 278
    11.3.1  EF Core約定 278
    11.3.2  EF Core注解特性 278
    11.3.3  EF Core Fluent API 279
    11.3.4  理解數據播種 280
    11.3.5  構建EF Core模型 280
    11.4  查詢EF Core模型 287
    11.4.1  過濾和排序產品 289
    11.4.2  記錄EF Core 291
    11.4.3  使用查詢標記進行日志記錄 294
    11.4.4  模式匹配與Like 294
    11.4.5  定義全局過濾器 295
    11.5  使用EF Core加載模式 296
    11.5.1  立即加載實體 296
    11.5.2  啟用延遲加載 296
    11.5.3  顯式加載實體 297
    11.6  使用EF Core操作數據 299
    11.6.1  插入實體 299
    11.6.2  更新實體 300
    11.6.3  刪除實體 301
    11.6.4  池化數據庫環境 302
    11.6.5  事務 302
    11.6.6  定義顯式事務 303
    11.7  實踐和探索 303
    11.7.1  練習11.1:測試你掌握的知識 303
    11.7.2  練習11.2:練習使用不同的
    序列化格式導出數據 304
    11.7.3  練習11.3:研究EF Core文檔 304
    11.8  本章小結 304
    第12章  使用LINQ查詢和操作數據 305
    12.1  編寫LINQ查詢 305
    12.1.1  使用Enumerable類擴展序列 305
    12.1.2  使用Where擴展方法過濾實體 306
    12.1.3  實體的排序 309
    12.1.4  根據類型進行過濾 310
    12.2  使用LINQ處理集合 312
    12.3  使用LINQ與EF Core 313
    12.3.1  序列的篩選和排序 315
    12.3.2  將序列投影到新的類型中 316
    12.3.3  連接和分組序列 317
    12.3.4  聚合序列 320
    12.4  使用語法糖美化LINQ語法 320
    12.5  使用帶有並行LINQ的多個
    線程 322
    12.6  創建自己的LINQ擴展方法 324
    12.7  使用LINQ to XML 327
    12.7.1  使用LINQ to XML生成XML 327
    12.7.2  使用LINQ to XML讀取XML 327
    12.8  實踐和探索 328
    12.8.1  練習12.1:測試你掌握的知識 328
    12.8.2  練習12.2:練習使用LINQ
    進行查詢 329
    12.8.3  練習12.3:探索主題 329
    12.9  本章小結 329
    第13章  使用多任務提高性能和
    可伸縮性 330
    13.1  理解進程、線程和任務 330
    13.2  監控性能和資源使用情況 331
    13.2.1  評估類型的效率 331
    13.2.2  監控性能和內存使用情況 332
    13.2.3  實現Recorder類 332
    13.3  異步運行任務 335
    13.3.1  同步執行多個操作 336
    13.3.2  使用任務異步執行多個操作 337
    13.3.3  等待任務 338
    13.3.4  繼續執行另一項任務 339
    13.3.5  嵌套任務和子任務 340
    13.4  同步訪問共享資源 341
    13.4.1  從多個線程訪問資源 341
    13.4.2  對資源應用互斥鎖 342
    13.4.3  理解lock語句並避免死鎖 343
    13.4.4  事件的同步 344
    13.4.5  使CPU操作原子化 345
    13.4.6  應用其他類型的同步 345
    13.5  理解async和await 346
    13.5.1  提高控制臺應用程序的響應
    能力 346
    13.5.2  改進GUI應用程序的響應能力 347
    13.5.3  改進Web應用程序和Web服務
    的可伸縮性 347
    13.5.4  支持多任務處理的常見類型 347
    13.5.5  在catch塊中使用await
    關鍵字 348
    13.5.6  使用async流 348
    13.6  實踐和探索 349
    13.6.1  練習13.1:測試你掌握的知識 349
    13.6.2  練習13.2:探索主題 349
    13.7  本章小結 349
    第14章  C#和.NET的實際應用 350
    14.1  理解C#和.NET的應用模型 350
    14.1.1  使用ASP.NET Core構建網站 350
    14.1.2  使用Web內容管理繫統
    構建網站 351
    14.1.3  理解Web應用程序 351
    14.1.4  構建和使用Web服務 352
    14.1.5  構建智能應用 352
    14.2  ASP.NET Core的新特性 352
    14.2.1  ASP.NET Core 1.0 352
    14.2.2  ASP.NET Core 1.1 352
    14.2.3  ASP.NET Core 2.0 353
    14.2.4  ASP.NET Core 2.1 353
    14.2.5  ASP.NET Core 2.2 353
    14.2.6  ASP.NET Core 3.0 354
    14.2.7  ASP.NET Core 3.1 354
    14.2.8  Blazor WebAssembly 3.2 354
    14.2.9  ASP.NET Core 5.0 354
    14.3  理解SignalR 355
    14.4  理解Blazor 356
    14.4.1  JavaScript存在的問題 356
    14.4.2  Silverlight 356
    14.4.3  WebAssembly 356
    14.4.4  服務器端或客戶端Blazor 357
    14.5  構建Windows桌面應用程序和
    跨平臺的移動應用程序 357
    14.5.1  構建跨平臺的移動應用程序 357
    14.5.2  使用舊技術構建Windows桌面
    應用程序 358
    14.6  為Northwind示例數據庫構建
    實體數據模型 358
    14.6.1  為Northwind實體模型創建
    類庫 358
    14.6.2  為Northwind數據庫上下文創建
    類庫 361
    14.7  本章小結 363
    第15章  使用ASP.NET Core Razor Pages
    構建網站 365
    15.1  了解Web開發 365
    15.1.1  HTTP 365
    15.1.2  客戶端Web開發 367
    15.2  了解ASP.NET Core 368
    15.2.1  傳統的ASP.NET與現代的
    ASP.NET Core 369
    15.2.2  創建ASP.NET Core項目 369
    15.2.3  測試和保護網站 371
    15.2.4  控制托管環境 373
    15.2.5  啟用靜態文件和默認文件 374
    15.3  了解Razor Pages 376
    15.3.1  啟用Razor Pages 376
    15.3.2  定義Razor頁面 376
    15.3.3  通過Razor頁面使用共享布局 377
    15.3.4  使用後臺代碼文件與Razor
    頁面 379
    15.4  使用Entity Framework Core與
    ASP.NET Core 381
    15.4.1  將Entity Framework Core配置為
    服務 381
    15.4.2  使用Razor頁面操作數據 383
    15.5  使用Razor類庫 384
    15.5.1  創建Razor類庫 384
    15.5.2  禁用壓縮文件夾功能 385
    15.5.3  在Razor類庫中顯示員工 386
    15.5.4  實現分部視圖以顯示單個員工 387
    15.5.5  使用和測試Razor類庫 388
    15.5.6  配置服務和HTTP請求管道 389
    15.5.7  注冊服務 390
    15.5.8  配置HTTP請求管道 391
    15.5.9  創建一個簡單的ASP.NET Core
    網站項目 394
    15.6  實踐和探索 395
    15.6.1  練習15.1:測試你掌握的知識 395
    15.6.2  練習15.2:練習建立數據驅動的
    網頁 395
    15.6.3  練習15.3:練習為控制臺應用
    程序構建Web頁面 395
    15.6.4  練習15.4:探索主題 395
    15.7  本章小結 396
    第16章  使用MVC模式構建網站 397
    16.1  設置ASP.NET Core MVC網站 397
    16.1.1  創建和探索ASP.NET Core MVC
    網站 397
    16.1.2  審查ASP.NET Core MVC網站 399
    16.1.3  回顧ASP.NET Core Identity
    數據庫 401
    16.2  探索ASP.NET Core MVC網站 401
    16.2.1  了解ASP.NET Core MVC的
    啟動 401
    16.2.2  理解MVC使用的默認路由 403
    16.2.3  理解控制器和操作 403
    16.2.4  理解視圖搜索路徑約定 405
    16.2.5 &nbs測試MVC 405
    16.2.6  過濾器 405
    16.2.7  實體和視圖模型 407
    16.2.8  視圖 408
    16.3  自定義ASP.NET Core MVC
    網站 410
    16.3.1  自定義樣式 411
    16.3.2  設置類別圖像 411
    16.3.3  Razor語法 411
    16.3.4  定義類型化視圖 412
    16.3.5  測試自定義首頁 414
    16.3.6  使用路由值傳遞參數 415
    16.3.7  模型綁定程序 417
    16.3.8  驗證模型 419
    16.3.9  視圖輔助方法 422
    16.3.10  查詢數據庫和使用顯示模板 422
    16.3.11  使用異步任務提高可伸縮性 424
    16.4  使用其他項目模板 425
    16.5  實踐與探索 427
    16.5.1  練習16.1:測試你掌握的知識 427
    16.5.2  練習16.2:通過實現類別詳細
    信息頁面來練習實現MVC 427
    16.5.3  練習16.3:理解和實現異步操作
    方法以提高可伸縮性 427
    16.5.4  練習16.4:探索主題 427
    16.6  本章小結 428
    第17章  使用內容管理繫統構建網站 429
    17.1  了解CMS的優點 429
    17.1.1  了解CMS的基本特性 429
    17.1.2  了解企業級CMS的特性 430
    17.1.3  了解CMS平臺 430
    17.2  了解Piranha CMS 430
    17.2.1  開源庫和許可 431
    17.2.2  創建Piranha CMS網站 431
    17.2.3  探索Piranha CMS網站 432
    17.2.4  編輯站點和頁面內容 433
    17.2.5  創建一個新的頁面 436
    17.2.6  創建一個新的子頁面 437
    17.2.7  回顧博客歸檔 438
    17.2.8  文章和頁面評論 439
    17.2.9  探索身份驗證和授權 440
    17.2.10  探索配置 441
    17.2.11  測試新內容 442
    17.2.12  了解路由 442
    17.2.13  了解媒體 444
    17.2.14  理解應用程序服務 444
    17.2.15  理解內容類型 445
    17.2.16  理解標準塊 449
    17.2.17  檢查組件類型和標準塊 450
    17.3  定義組件、內容類型和模板 451
    17.3.1  創建自定義區域 452
    17.3.2  創建實體數據模型 453
    17.3.3  創建自定義頁面類型 454
    17.3.4  創建自定義視圖模型 454
    17.3.5  為內容類型自定義內容模板 455
    17.3.6  通過配置啟動和導入數據庫 458
    17.3.7  學習如何使用項目模板
    創建內容 460
    17.4  測試Northwind CMS網站 461
    17.4.1  上傳圖像並創建類別根目錄 461
    17.4.2  導入類別和產品內容 462
    17.4.3  管理類別內容 463
    17.4.4  Piranha如何存儲內容 464
    17.5  實踐和探索 465
    17.5.1  練習17.1:測試你掌握的知識 465
    17.5.2  練習17.2:練習定義塊類型,
    用以呈現YouTube視頻 465
    17.5.3  練習17.3:探索主題 466
    17.6  本章小結 466
    第18章  構建和消費Web服務 467
    18.1  使用ASP.NET Core Web API
    構建Web服務 467
    18.1.1  理解Web服務縮寫詞 467
    18.1.2  創建ASP.NET Core Web API
    項目 468
    18.1.3  檢查Web服務的功能 470
    18.1.4  為Northwind示例數據庫創建
    Web服務 471
    18.1.5  為實體創建數據存儲庫 473
    18.1.6  實現Web API控制器 476
    18.1.7  配置客戶存儲庫和Web API
    控制器 477
    18.1.8  指定問題的細節 480
    18.1.9  控制XML序列化 481
    18.2  解釋和測試Web服務 481
    18.2.1  使用瀏覽器測試GET請求 481
    18.2.2  使用REST Client擴展測試
    HTTP請求 482
    18.2.3  啟用Swagger 485
    18.2.4  使用Swagger UI測試請求 486
    18.3  使用HTTP客戶端消費服務 490
    18.3.1  了解HttpClient類 490
    18.3.2  使用HttpClientFactory配置
    HTTP客戶端 490
    18.3.3  在控制器中以JSON的形式
    獲取客戶 491
    18.3.4  支持跨源資源共享 493
    18.4  實現高級功能 494
    18.4.1  實現健康檢查API 495


    18.4.2  實現Open API分析器和約定 495
    18.4.3  實現臨時故障處理 496
    18.4.4  理解端點路由 496
    18.4.5  配置端點路由 496
    18.4.6  添加HTTP安全標頭 498
    18.4.7  保護Web服務 499
    18.5  了解其他通信技術 499
    18.5.1  了解WCF 499
    18.5.2  了解gRPC 500
    18.6  實踐和探索 500
    18.6.1  練習18.1:測試你掌握的知識 500
    18.6.2  練習18.2:練習使用HttpClient
    創建和刪除客戶 500
    18.6.3  練習18.3:探索主題 500
    18.7  本章小結 501
    第19章  使用機器學習構建智能
    應用程序 502
    19.1  了解機器學習 502
    19.1.1  了解機器學習的生命周期 502
    19.1.2  了解用於訓練和測試的數據集 503
    19.1.3  了解機器學習任務 503
    19.1.4  了解Microsoft Azure Machine 
    Learning 504
    19.2  理解ML.NET 504
    19.2.1  了解Infer.NET 505
    19.2.2  了解ML.NET學習管道 505
    19.2.3  了解模型訓練的概念 506
    19.2.4  了解缺失值和鍵類型 506
    19.2.5  了解特性和標簽 506
    19.3  進行產品推薦 507
    19.3.1  問題分析 507
    19.3.2  數據的收集和處理 507
    19.3.3  創建NorthwindML網站項目 508
    19.3.4  測試產品推薦網站 519
    19.4  實踐和探索 521
    19.4.1  練習19.1:測試你掌握的知識 521
    19.4.2  練習19.2:使用樣本進行練習 521
    19.4.3  練習19.3:探索主題 521
    19.5  本章小結 522


    第20章  使用Blazor構建Web用戶
    界面 523
    20.1  理解Blazor 523
    20.1.1  理解Blazor托管模型 523
    20.1.2  理解Blazor組件 524
    20.1.3  比較Blazor和Razor 524
    20.1.4  比較Blazor項目模板 524
    20.2  使用Blazor服務器構建組件 532
    20.2.1  定義和測試簡單的組件 532
    20.2.2  將實體放入組件 533
    20.2.3  為Blazor組件抽像服務 535
    20.2.4  使用Blazor表單 537
    20.3  使用Blazor WebAssembly
    構建組件 542
    20.3.1  為Blazor WebAssembly配置
    服務器 543
    20.3.2  為Blazor WebAssembly配置
    客戶端 545
    20.3.3  Web應用程序的漸進式支持 548
    20.4  實踐和探索 550
    20.4.1  練習20.1:測試你掌握的知識 550
    20.4.2  練習20.2:練習創建組件 550
    20.4.3  練習20.3:探索主題 550
    20.5  本章小結 551
    第21章  構建跨平臺的移動應用程序 552
    21.1  了解XAML 552
    21.1.1  使用XAML簡化代碼 553
    21.1.2  選擇常見的控件 553
    21.1.3  理解標記擴展 554
    21.2  了解Xamarin和Xamarin. Forms 554
    21.2.1  Xamarin.Forms擴展了Xamarin 554
    21.2.2  移動先行,雲先行 554
    21.2.3  不同移動平臺的市場份額 555
    21.2.4  了解一些額外功能 555
    21.2.5  了解Xamarin.Forms用戶界面
    組件 556
    21.3  使用Xamarin.Forms構建移動
    應用程序 557
    21.3.1  添加Android SDK 558
    21.3.2  創建Xamarin.Forms解決方案 558
    21.3.3  創建具有雙向數據綁定的
    實體模型 559
    21.3.4  為撥打電話號碼創建組件 562
    21.3.5  為客戶列表和客戶詳細信息創建
    視圖 565
    21.3.6  測試移動應用程序 569
    21.4  在移動應用程序中消費Web
    服務 571
    21.4.1  配置Web服務以允許不安全
    的請求 572
    21.4.2  配置iOS應用程序以允許不安全
    的連接 572
    21.4.3  配置Android應用程序,允許
    進行不安全連接 573
    21.4.4  添加用於消費Web服務的
    NuGet包 573
    21.4.5  從Web服務中獲取客戶 574
    21.5  實踐和探索 575
    21.5.1  練習21.1:測試你掌握的知識 575
    21.5.2  練習21.2:探索主題 576
    21.6  本章小結 576
    附錄部分(請掃描封底二維碼獲取)
    附錄A  練習題答案
    附錄B  構建Windows桌面應用程序

    前言
    譯 者 序
    ● init關鍵字
    本書內容簡潔明快、行文流暢,每個主題都配有實際動手演練項目。本書還是一本循序漸進的指南,可用於通過跨平臺的 .NET學習現代 C#實踐,書中還簡要介紹可以使用它們構建的主要應用程序類型。本書分為 21章,還包含兩個附錄,內容包括 C#與.NET入門, C#編程基礎,控制程序流程和轉換類型,編寫、調試和測試函數,使用面向對像編程技術構建自己的類型,實現接口和繼承類,理解和打包 .NET類型,使用常見的 .NET類型,處理文件、流和序列化,保護數據和應用程序,使用 Entity Framework Core處理數據庫,使用 LINQ查詢和操作數據,使用多任務提高性能和可伸縮性, C#和.NET的實際應用,使用 ASP.NETCore Razor Pages構建網站,使用 MVC模式構建網站,使用內容管理繫統構建網站,構建和消費 Web服務,使用機器學習構建智能應用程序,使用 Blazor構建 Web用戶界面以及使用 Xamarin.Forms構建跨平臺的移動應用程序。
    本書適合 C#和.NET初學者閱讀,不要求讀者具有任何編程經驗;同時也適合使用過 C#但感覺在過去幾年自身技術已落伍的程序員;既可供軟件項目管理人員、開發團隊成員學習參考,也可作為高等院校計算機專業的教材或教學參考用書,甚至可作為通信、電子信息、自動化等相關專業的教材。

    譯 者 序 


    C# 9.0已於 2020年 11月 10日正式發布,這一 C#版本的主要落腳點放在數據的簡潔性和不可變性方面。C# 9.0的新特性如下: 
    ● init關鍵字 


    . 隻初始化屬性設置器 


    . init屬性訪問器和隻讀字段 


    ● 記錄類型 


    . with表達式 


    . 基於值的相等 


    . 繼承 


    . 位置記錄 


    ● 程序(Top-Level Program) 


    ● 增強的模式匹配 


    . 簡單類型模式 


    . 關繫模式 


    ● 類型推導的 new表達式 


    ● 返回值類型支持協變 


    ● 本地大小的整型——nint和 nuint 


    ● 靜態匿名方法 


    ● 模塊初始化器 


    ● 本地函數支持 Attribute 


    ● 擴展的分部方法 


    ● Lamb參數 


    ● 類型推導的條件表達式 


    ● 方法指針 


    ● 禁止發出 localsinit標記 


    ● 擴展了 GetEnumerator以支持 foreach循環



    本書內容簡潔明快、行文流暢,每個主題都配有實際動手演練項目。本書還是一本循序漸進的指南,可用於通過跨平臺的 .NET學習現代 C#實踐,書中還簡要介紹可以使用它們構建的主要應用程序類型。本書分為 21章,還包含兩個附錄,內容包括 C#與.NET入門, C#編程基礎,控制程序流程和轉換類型,編寫、調試和測試函數,使用面向對像編程技術構建自己的類型,實現接口和繼承類,理解和打包 .NET類型,使用常見的 .NET類型,處理文件、流和序列化,保護數據和應用程序,使用 Entity Framework Core處理數據庫,使用 LINQ查詢和操作數據,使用多任務提高性能和可伸縮性, C#和.NET的實際應用,使用 ASP.NETCore Razor Pages構建網站,使用 MVC模式構建網站,使用內容管理繫統構建網站,構建和消費 Web服務,使用機器學習構建智能應用程序,使用 Blazor構建 Web用戶界面以及使用 Xamarin.Forms構建跨平臺的移動應用程序。
    本書適合 C#和.NET初學者閱讀,不要求讀者具有任何編程經驗;同時也適合使用過 C#但感覺在過去幾年自身技術已落伍的程序員;既可供軟件項目管理人員、開發團隊成員學習參考,也可作為高等院校計算機專業的教材或教學參考用書,甚至可作為通信、電子信息、自動化等相關專業的教材。
    在這裡要感謝清華大學出版社的編輯,他們為本書的翻譯投入了巨大的熱情並付出了很多心血。沒有他們的幫助和鼓勵,本書不可能順利付梓。
    對於這本經典之作,譯者本著“誠惶誠恐”的態度,在翻譯過程中力求“信、達、雅”,但是由於譯者水平有限,失誤在所難免,如有任何意見和建議,請不吝指正。
    —葉偉民


    譯 者 介 紹 



    葉偉民 
    ● 廣州.NET俱樂部主席 


    ● 全國各地.NET社區微信群/聯繫方式名錄維護者 


    ● .NET並發編程實戰》譯者 


    ● .NET內存管理寶典》合譯者 


    ● “神機妙算 Fintech信息彙總”公眾號號主 


    ● 17年.NET開發經驗 


    ● 曾在美國舊金山工作



    軟件質量需要程序員和測試員一起來保證,書的質量同樣如此。十分感謝來自以下.NET社區的試讀者: 


    ● 膠東.NET社區——陸楠 


    ● 廣州.NET俱樂部、微軟 MVP——周豪 


    ● 廣州.NET俱樂部、微軟 MVP——林德熙 


    ● 廣州.NET俱樂部——張陶棟 



    ● 廣州.NET俱樂部、微軟 Regional Director、微軟 MVP ——盧建暉



    譯者葉偉民擁有全國各地 .NET社區微信群 /聯繫方式名錄,歡迎全國各地 .NET開發者加入所在地區的.NET社區。


    作 者 簡 介 



    Mark J. Price是一位擁有 20多年教育和編程經驗的微軟認證技術專家,他專注於 C#編程以及構建 Azure雲解決方案。
    自 1993年以來, Mark已經通過了 80多項微軟編程考試,他特別擅長傳道授業。他的學生既有具有幾十年經驗的專業人士,也有毫無經驗的 16歲學徒。他通過結合教育技能以及親自為世界範圍內的企業提供咨詢和開發繫統的實際經驗,成功指導了所有這些學生。
    從 2001年到 2003年,Mark在美國雷德蒙德全職為微軟編寫官方課件。當 C#還處於 alpha版本時,他的團隊就為 C#編寫了個培訓教程。在微軟任職期間,他為“培訓師”上課,指導微軟認證培訓師快速掌握 C#和.NET。
    目前, Mark為 Episerver的數字體驗平臺提供培訓課程,包括內容雲、商務雲和智能雲等主題。該平臺目前是秀的.NET CMS數字營銷和電子商務平臺。 
    2010年,Mark獲得了研究生教育證書 (Postgraduate Certificate in Education,PGCE)。他在倫敦兩所中學講授 GCSE和 A-Level數學課程。他擁有計算機科學學士學位,畢業於英國布裡斯托爾大學。


    審校者簡介 


    Damir Arh擁有多年的軟件開發和維護經驗,其中包括復雜的企業級軟件項目以及現代的面向消費者的移動應用。盡管他使用過各種不同的語言,但他鐘愛的語言仍然是 C#。在對更出色的開發過程的不懈追求中,他是測試驅動開發、持續集成和持續部署的忠實支持者。他通過在本地用戶組和會議上演講、撰寫博客和文章來分享自己的淵博知識。他曾連續 9次獲得微軟 MVP稱號。在業餘時間,他總是喜歡運動,比如徒步旅行、地理探索、跑步和攀岩。


    致 謝


    感謝我的父母 Pamela和 Ian,是你們把我培養成一個有禮貌、勤奮、對世界充滿好奇心的人。感謝我的妹妹 Emily和 Juliet,感謝你們愛我,盡管我有些愚笨。感謝我的朋友和同事們,是你們激發了我的技術潛能和創造力。後,感謝我多年來教過的所有學生,是你們激勵我成為出色的老師。 
    ——Mark J. Price 
    我要感謝我的家人和朋友,在那麼多個周末和晚上,正是他們的耐心和理解,纔讓本書能夠更好地為每個人服務。 ——Damir Arh 


    前 言


    有些 C#書籍長達數千頁,旨在全面介紹 C#編程語言和.NET Framework。本書與眾不同,內容簡潔明快、行文流暢,每個主題都配有實際動手演練項目。進行總體敘述的廣度是以犧牲一定深度為代價的,但如果願意,你就會發現許多主題都值得進一步探索。
    本書也是一本循序漸進的學習指南,可用於通過跨平臺的 .NET學習現代 C#實踐,並簡要介紹可以使用它們構建的主要應用程序類型。本書適合 C#和.













     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部