C# 6和Visual Studio 2015編程實戰指南
《C#入門經典》系列是屢獲殊榮的C#名著和超級暢銷書。版的 C#入門經典(第7版) C# 6.0 & Visual Studio2015 介紹使用C# 6和.NET Framework編寫程序的基礎知識,是編程新手的理想讀物。這本分步講解的實用教程從最基本的面向對象編程講起,濃墨重彩地描述初學者最常用的工具,不要求讀者具有任何編程經驗。緊貼實用的示例使用Visual Studio 2015中的C#環境,涵蓋微軟為使C#更好兼容其他編程語言所做的改進。本書呈現微軟博學開發人員的專家級建議,將指導初學者立即上手編寫Windows和Web應用程序。
主要內容
首先講解編程基礎知識,如變量、流控制、面向對象編程、類、函數、集合、比較和轉換等
重點介紹Visual Studio 2015中初學者喜歡的C# 6開發環境,囊括所有功能和語言改進
包括云和Windows編程中級內容,涵蓋數據庫和XML
揭密錯誤處理技術和調試過程
以專家撰寫的分步指南為特色,指導初學者在真實編程環境中編寫有用的代碼
WORX經典紅皮書
C#經典名著
暢銷17年
升級至第7版
源代碼免費提供下載
引領無數讀者進入IT開發殿堂
本書的亮點包括:
● 增加并改進了代碼示例。
● 涵蓋C# 6和.NET 4.6的所有新內容,包括如何創建通用Windows應用程序。
● 增加了編寫云應用程序的示例,并使用Azure SDK創建和訪問云資源。
0.3 本書結構
本書分為6個部分。
● 前言:概述本書的內容。
● OOP語言:介紹C#語言的所有內容,從基礎知識到面向對象的技術,一應俱全。
● Windows編程:介紹如何用WPF庫編寫和部署桌面應用程序。
● 云編程:描述云應用程序的開發和部署,包括Web API的創建和使用。
● 數據訪問:介紹如何在應用程序中使用數據,包括存儲在硬盤文件中的數據、以XML格式存儲的數據和數據庫中的數據。
● 其他技術:講述使用C#和.NET Framework的一些額外方式,包括WCF和通用Windows應用程序。
作者簡介
Benjamin Perkins是Microsoft的博學“技術支持”工程師,一位狂熱的C#程序員,在企業級IT解決方案領域擁有15年工作經驗。
Jacob Vibe Hammer是Terma的一名軟件工程師,合著編寫過多本.NET圖書。
Jon D. Reid是IFS研發團隊(www.ifsworld.com)的產品解決方案經理,負責為Microsoft環境開發C#程序。
目 錄
第Ⅰ部分 OOP 語 言
第1章 C#簡介 3
1.1 .NET Framework的含義 3
1.1.1 .NET Framework的內容 4
1.1.2 使用.NET Framework編寫應用程序 4
1.2 C#的含義 7
1.2.1 用C#能編寫什么樣的應用程序 8
1.2.2 本書中的C# 8
1.3 Visual Studio 2015 8
1.3.1 Visual Studio Express 2015產品 9
1.3.2 解決方案 9
1.4 本章要點 9
第2章 編寫C#程序 11
2.1 Visual Studio 2015開發環境 12
2.2 控制臺應用程序 14
2.2.1 Solution Explorer窗口 16
2.2.2 Properties窗口 18
2.2.3 Error List窗口 18
2.3 桌面應用程序 19
2.4 本章要點 22
第3章 變量和表達式 23
3.1 C#的基本語法 24
3.2 C#控制臺應用程序的基本結構 26
3.3 變量 27
3.3.1 簡單類型 27
3.3.2 變量的命名 31
3.3.3 字面值 31
3.4 表達式 33
3.4.1 數學運算符 33
3.4.2 賦值運算符 37
3.4.3 運算符的優先級 38
3.4.4 名稱空間 39
3.5 練習 40
3.6 本章要點 41
第4章 流程控制 43
4.1 布爾邏輯 43
4.1.1 布爾按位運算符和賦值運算符 45
4.1.2 運算符優先級的更新 47
4.2 分支 47
4.2.1 三元運算符 48
4.2.2 if語句 48
4.2.3 switch語句 51
4.3 循環 54
4.3.1 do循環 54
4.3.2 while循環 57
4.3.3 for循環 58
4.3.4 循環的中斷 59
4.3.5 無限循環 60
4.4 練習 61
4.5 本章要點 61
第5章 變量的更多內容 63
5.1 類型轉換 63
5.1.1 隱式轉換 64
5.1.2 顯式轉換 65
5.1.3 使用Convert命令進行顯式轉換 68
5.2 復雜的變量類型 69
5.2.1 枚舉 69
5.2.2 結構 73
5.2.3 數組 76
5.3 字符串的處理 82
5.4 練習 86
5.5 本章要點 87
第6章 函數 89
6.1 定義和使用函數 90
6.1.1 返回值 91
6.1.2 參數 93
6.2 變量的作用域 99
6.2.1 其他結構中變量的作用域 102
6.2.2 參數和返回值與全局數據 103
6.3 Main()函數 104
6.4 結構函數 106
6.5 函數的重載 107
6.6 委托 109
6.7 練習 111
6.8 本章要點 112
第7章 調試和錯誤處理 113
7.1 Visual Studio中的調試 114
7.1.1 非中斷(正常)模式下的調試 114
7.1.2 中斷模式下的調試 121
7.2 錯誤處理 127
7.2.1 try...catch...finally 128
7.2.2 列出和配置異常 133
7.3 練習 134
7.4 本章要點 134
第8章 面向對象編程簡介 137
8.1 面向對象編程的含義 137
8.1.1 對象的含義 138
8.1.2 一切皆對象 141
8.1.3 對象的生命周期 141
8.1.4 靜態成員和實例類成員 142
8.2 OOP技術 143
8.2.1 接口 143
8.2.2 繼承 144
8.2.3 多態性 146
8.2.4 對象之間的關系 148
8.2.5 運算符重載 149
8.2.6 事件 149
8.2.7 引用類型和值類型 150
8.3 桌面應用程序中的OOP 150
8.4 練習 153
8.5 本章要點 154
第9章 定義類 155
9.1 C#中的類定義 155
9.2 System.Object 160
9.3 構造函數和析構函數 161
9.4 Visual Studio中的OOP工具 166
9.4.1 Class View窗口 166
9.4.2 對象瀏覽器 167
9.4.3 添加類 169
9.4.4 類圖 169
9.5 類庫項目 171
9.6 接口和抽象類 174
9.7 結構類型 176
9.8 淺度和深度復制 177
9.9 練習 178
9.10 本章要點 178
第10章 定義類成員 181
10.1 成員定義 181
10.1.1 定義字段 182
10.1.2 定義方法 182
10.1.3 定義屬性 183
10.1.4 重構成員 188
10.1.5 自動屬性 189
10.2 類成員的其他主題 190
10.2.1 隱藏基類方法 190
10.2.2 調用重寫或隱藏的基類方法 192
10.2.3 嵌套的類型定義 193
10.3 接口的實現 195
10.4 部分類定義 198
10.5 部分方法定義 199
10.6 示例應用程序 200
10.6.1 規劃應用程序 201
10.6.2 編寫類庫 201
10.6.3 類庫的客戶應用程序 208
10.7 Call Hierarchy窗口 209
10.8 練習 210
10.9 本章要點 210
第11章 集合、比較和轉換 211
11.1 集合 212
11.1.1 使用集合 212
11.1.2 定義集合 218
11.1.3 索引符 219
11.1.4 給CardLib添加Cards集合 221
11.1.5 鍵控集合和IDictionary 224
11.1.6 迭代器 225
11.1.7 迭代器和集合 229
11.1.8 深度復制 230
11.1.9 給CardLib添加深度復制 232
11.2 比較 234
11.2.1 類型比較 234
11.2.2 值比較 238
11.3 轉換 254
11.3.1 重載轉換運算符 254
11.3.2 as運算符 255
11.4 練習 256
11.5 本章要點 257
第12章 泛型 259
12.1 泛型的含義 259
12.2 使用泛型 261
12.2.1 可空類型 261
12.2.2 System.Collections.Generic名稱空間 268
12.3 定義泛型類型 278
12.3.1 定義泛型類 278
12.3.2 定義泛型接口 289
12.3.3 定義泛型方法 289
12.3.4 定義泛型委托 291
12.4 變體 291
12.4.1 協變 292
12.4.2 抗變 292
12.5 練習 293
12.6 本章要點 294
第13章 高級C#技術 297
13.1 ::運算符和全局名稱空間限定符 298
13.2 定制異常 299
13.3 事件 301
13.3.1 事件的含義 301
13.3.2 處理事件 302
13.3.3 定義事件 305
13.4 擴展和使用CardLib 312
13.5 特性 320
13.5.1 讀取特性 321
13.5.2 創建特性 322
13.6 初始化器 323
13.6.1 對象初始化器 323
13.6.2 集合初始化器 325
13.7 類型推理 329
13.8 匿名類型 330
13.9 動態查找 334
13.10 高級方法參數 338
13.10.1 可選參數 339
13.10.2 命名參數 340
13.11 Lambda表達式 344
13.11.1 復習匿名方法 344
13.11.2 把Lambda表達式用于匿名方法 345
13.11.3 Lambda表達式的參數 349
13.11.4 Lambda表達式的語句體 349
13.11.5 Lambda表達式用作委托和表達式樹 350
13.11.6 Lambda表達式和集合 351
13.12 練習 354
13.13 本章要點 355
第Ⅱ部分 Windows編程
第14章 基本桌面編程 359
14.1 XAML 360
14.1.1 關注點分離 360
14.1.2 XAML基礎知識 360
14.2 動手實踐 363
14.2.1 WPF控件 363
14.2.2 屬性 364
14.2.3 事件 368
14.3 控件布局 372
14.3.1 堆疊順序 373
14.3.2 對齊、邊距、填充和尺寸 373
14.3.3 Border控件 374
14.3.4 Canvas控件 374
14.3.5 DockPanel控件 375
14.3.6 StackPanel控件 377
14.3.7 WrapPanel控件 378
14.3.8 Grid控件 379
14.4 游戲客戶端 381
14.4.1 About窗口 382
14.4.2 Options窗口 386
14.4.3 數據綁定 394
14.4.4 使用ListBox控件啟動游戲 399
14.5 練習 403
14.6 本章要點 403
第15章 高級桌面編程 405
15.1 主窗口 405
15.1.1 菜單控件 406
15.1.2 路由命令和菜單 406
15.2 創建控件并設置樣式 410
15.2.1 樣式 410
15.2.2 模板 411
15.2.3 值轉換器 415
15.2.4 觸發器 416
15.2.5 動畫 418
15.3 WPF用戶控件 420
15.4 把所有內容結合起來 430
15.4.1 重構域模型 431
15.4.2 視圖模型 436
15.4.3 大功告成 444
15.5 練習 453
15.6 本章要點 453
第Ⅲ部分 云 編 程
第16章 基本的云編程 457
16.1 云、云編程和云優化堆棧 458
16.2 云模式和實踐 460
16.3 使用Microsoft Azure C#庫創建存儲容器 461
16.4 創建使用存儲容器的ASP.NET 4.6 網站 471
16.5 練習 478
16.6 本章要點 478
第17章 高級云編程和部署 479
17.1 創建ASP.NET Web API 480
17.2 在Microsoft Azure上部署和使用ASP.NET Web API 483
17.3 擴展Microsoft Azure平臺上的ASP.NET Web API 490
17.4 練習 493
17.5 本章要點 493
第Ⅳ部分 數 據 訪 問
第18章 文件 497
18.1 用于輸入和輸出的類 497
18.1.1 File類和Directory類 498
18.1.2 FileInfo類 499
18.1.3 DirectoryInfo類 500
18.1.4 路徑名和相對路徑 501
18.2 流 501
18.2.1 使用流的類 501
18.2.2 FileStream對象 502
18.2.3 StreamWriter對象 508
18.2.4 StreamReader對象 510
18.2.5 異步文件訪問 513
18.2.6 讀寫壓縮文件 513
18.3 監控文件系統 516
18.4 練習 521
18.5 本章要點 521
第19章 XML和JSON 523
19.1 XML基礎 523
19.2 JSON 基礎 524
19.3 XML模式 525
19.4 XML文檔對象模型 526
19.4.1 XmlDocument類 527
19.4.2 XmlElement類 528
19.4.3 修改節點的值 531
19.5 把XML轉換為JSON 536
19.6 用XPath搜索XML 537
19.7 練習 541
19.8 本章要點 542
第20章 LINQ 543
20.1 使用LINQ to XML 544
20.1.1 LINQ to XML函數構造方式 544
20.1.2 處理XML片段 547
20.2 LINQ提供程序 549
20.3 LINQ查詢語法 550
20.3.1 用var關鍵字聲明結果變量 552
20.3.2 指定數據源:from子句 552
20.3.3 指定條件:where子句 553
20.3.4 選擇元素:select子句 553
20.3.5 完成:使用foreach循環 553
20.3.6 延遲執行的查詢 553
20.4 LINQ方法語法 554
20.4.1 LINQ擴展方法 554
20.4.2 查詢語法和方法語法 554
20.4.3 Lambda 表達式 555
20.5 排序查詢結果 557
20.6 orderby子句 558
20.7 查詢大型數據集 559
20.8 使用聚合運算符 561
20.9 單值選擇查詢 564
20.10 多級排序 567
20.11 組合查詢 569
20.12 Join查詢 571
20.13 練習 572
20.14 本章要點 572
第21章 數據庫 575
21.1 使用數據庫 575
21.2 安裝SQL Server Express 576
21.3 Entity Framework 576
21.4 Code First 數據庫 576
21.5 數據庫的位置 583
21.6 導航數據庫關系 584
21.7 處理遷移 591
21.8 在已有的數據庫中創建和查詢XML 593
21.9 練習 596
21.10 本章要點 597
第Ⅴ部分 其 他 技 術
第22章 Windows Communication Foundation 601
22.1 WCF的含義 602
22.2 WCF概念 602
22.2.1 WCF通信協議 603
22.2.2 地址、端點和綁定 603
22.2.3 協定 605
22.2.4 消息模式 605
22.2.5 行為 605
22.2.6 駐留 606
22.3 WCF編程 606
22.3.1 WCF測試客戶端程序 612
22.3.2 定義WCF服務協定 6
還可以了,書本太薄了感覺內容少。書的包裝保護就是一層很薄的膠口袋,而且快遞送來的時候打開包裹膠口袋都壞了
書不算厚,感覺作者講的內容沒有很大的層次感,顯得有點亂,而且較之之前看的編程書籍,這本書講解的沒那么清晰。書的標價感覺與實際內容不符,書貴,內容也講解的不夠透徹,還需費一番功夫。
來的時候書后的封皮折了,由于11的關系到的有些晚,但書的質量很好,給好評!
這書不錯,一直想買,但太貴,還次打折果斷買了,好!
包裝太簡陋,運輸過程中極容易壓傷,別問我為啥,我心疼我書,,,
質量好像不怎么樣,翻了幾天后書前面就都散了
有一點小瑕絲,還好,就是外皮有點膠水,其他的都沒問題
書拿到了,都有獨立封裝,還沒開始閱讀,從印刷質量看,是正品。
這本書應該不錯吧,買了兩本,還沒看到這本,等我看完再來追評。
這個我有第六版,看見第七版還是買了,因為這書是極好的,我相信作者會在新版書中給我帶來更多。
很經典的書了,升級到了第7版,外版書確實系統,而且又是大師著作,值得信賴
內容挺多,細心看還是容易懂的,就是用的c#6.0,有點蛋疼
當當的書送得就是快!這次書到手后稍有點擠壓的痕跡。大體翻了一下,感覺買得不虧。
運輸什么的沒問題,但這書我才看一點都已經看見倆錯了
第一次在當當買書,書的質量挺好的,以后還會再來。
一本關于c#的經典書籍,很不錯的一本書,物流也很給力,繼續支持。
書的質量非常好,而且比想象中的厚多了,內容很豐富,對于初學者來說是很不錯的選擇
講的很詳細,估計是為了鍛煉讀者的思考,主動加了一些很淺顯的錯誤,這一點我覺得很好,鍛煉了找錯的能力,這個在開發中很重要。
我是做嵌入式的 偶爾需要寫一些界面 買來學習一下希望有所幫助
包裝不怎么好。還沒有開就能看到里面的東西。而且我打開的時候里面的包裝都開始爛了。但是整體的感覺還是不錯。還沒開始看,
書是好書,就是這質量,無語!剛收到的書就這樣了,離掉頁不遠了,一直很信賴當當,這次是最差的一次購物!
書本質量很不錯,紙張是純白的那種,印跡很清晰,很好的書,如果快遞包裝多加一層泡沫就更好了,運送過程中有一處小破損,好在并不是很大,不影響
書很完整 內容很豐富 是本值得一讀的經典好書!
因為編程需要,買了,書蠻精致的,還是覺得太重了點。
針對最新版C#語言和開發工具升級的入門教材,對于初學者很有幫助
習慣好評 還沒看 看了在追加 是新手應該幫助很大
書不錯,但是裝幀質量太差了。剛開始看,就開始掉頁了,剛剛我一翻,居然有一頁直接從書中脫出來了。真是讓人無法接受。從來沒有見過裝訂質量這么差的書,盜版書也不會這樣啊。
自己是搞嵌入式的,但是有時候需要寫一些PC端應用測試程序。買來這本書看看,學習一下C#,這樣不用再請別人幫忙寫了
書是好書,IT專業的朋友推薦的,擔心某超大網站賣的書不真,特意來這里注冊了賬號,就為了買書,只是,這裝訂質量讓我很是懷疑啊,翻頁的時候手稍微用了點力,紙張就脫膠,掉了下來。。。我很是震驚!!!現在只希望里面的內容沒有錯。。。