零基礎學C#

零基礎學C#

《零基礎學C#》是針對零基礎編程學習者研發的C#入門教程。全書共分16章,包括Visual Studio的安裝、踏上C# 開發的征程、必須學會的C#語法、流程控制語句、看似簡單的字元串、面向對象程式設計、Windows互動式圖形界面、數據訪問技術、程式調試與異常處理、多執行緒編程技術以及五子棋大廳遊戲等。書中所有知識都結合具體實例進行講解,設計的程式代碼給出了詳細的注釋。

主要內容

本書通過大量實例及一個完整項目案例,幫助讀者更好地鞏固所學知識,提升能力;隨書附贈的《小白實戰手冊》中給出了3個流行且實用的案例的詳細開發流程,力求讓學習者能學以致用,真正獲得開發經驗;附贈的光碟中給出視頻講解、實例及項目源碼、代碼查錯器、練一練和動手糾錯答案等,方便讀者學習;書中設定了200多個二維碼,掃描二維碼觀看視頻講解,解決學習疑難;不易理解的專業術語、代碼難點只需手機掃描文字下方的e學碼獲得更多擴展解釋,隨時掃除學習障礙。

目錄

第1篇 基礎知識 1

第1章 宇宙第一IDE——Visual Studio 2

1.1 了解軟體 3

1.2 軟體開發相關的概念 4

1.3 C#語言入門 6

1.3.1 C#語言的發展 6

1.3.2 C#語言的特點 7

1.3.3 認識.NET Framework 7

1.3.4 C#與.NET Framework 8

1.3.5 C#的套用領域 8

1.4 Visual Studio 2017的安裝與卸載 10

1.4.1 安裝Visual Studio 2017必備條件 10

1.4.2 安裝Visual Studio 2017 10

1.4.3 卸載Visual Studio 2017 14

1.5 熟悉Visual Studio 2017開發環境 15

1.5.1 創建項目 15

1.5.2 選單欄 17

1.5.3 工具列 17

1.5.4 解決方案資源管理器 18

1.5.5 “工具箱”視窗 18

1.5.6 “屬性”視窗 19

1.5.7 “錯誤列表”視窗 19

1.6 難點解答 20

1.6.1 學習C#編程必須安裝Visual Studio開發環境嗎? 20

1.6.2 學習C#的網站 20

1.7 小結 20

第2章 踏上C# 開發的征程 21

2.1 編寫第一個C#程式 22

2.2 C#程式結構預覽 24

2.2.1 命名空間 25

2.2.2 類 27

2.2.3 關鍵字與標識符 28

2.2.4 Main方法 29

2.2.5 C#語句 30

2.2.6 注釋 32

2.2.7 一個完整的C#程式 34

2.3 程式編寫規範 35

2.3.1 代碼編寫規則 36

2.3.2 命名規範 36

2.4 難點解答 38

2.4.1 區分常見的3種項目類型 38

2.4.2 為什麼要使用注釋? 39

2.5 小結 41

2.6 動手糾錯 41

第3章 必須學會的C#語法 43

3.1 為什麼要使用變數 44

3.2 變數是什麼 44

3.3 變數的聲明及初始化 45

3.3.1 聲明變數 45

3.3.2 簡單數據類型 46

3.3.3 變數的初始化 55

3.3.4 變數的作用域 57

3.4 常量 59

3.4.1 常量是什麼 59

3.4.2 常量的分類 59

3.5 運算符 61

3.5.1 算術運算符 61

3.5.2 自增自減運算符 63

3.5.3 賦值運算符 63

3.5.4 關係運算符 65

3.5.5 邏輯運算符 67

3.5.6 位運算符 69

3.5.7 移位運算符 70

3.5.8 條件運算符 71

3.6 數據類型轉換 73

3.6.1 隱式類型轉換 73

3.6.2 顯式類型轉換 73

3.6.3 使用Convert類進行轉換 74

3.7 運算符優先權與結合性 76

3.8 難點解答 77

3.8.1 使用賦值運算符時的注意事項 77

3.8.2 條件運算符不能單獨作為語句 78

3.9 小結 78

3.10 動手糾錯 79

第4章 流程控制語句 81

4.1 決策分支 82

4.2 if語句 82

4.2.1 最簡單的if語句 83

4.2.2 if…else語句 85

4.2.3 if…else if…else語句 88

4.2.4 if語句的嵌套 91

4.3 switch多分支語句 93

4.3.1 switch語句 93

4.3.2 switch與if…else if…else的區別 97

4.4 while和do…while循環 97

4.4.1 while循環 97

4.4.2 do…while循環 100

4.4.3 while和do…while語句的區別 101

4.5 for循環 102

4.5.1 for循環的一般形式 102

4.5.2 for循環的變體 103

4.5.3 for循環中逗號的套用 105

4.6 循環的嵌套 105

4.7 跳轉語句 108

4.7.1 break語句 108

4.7.2 continue語句 110

4.8 難點解答 111

4.8.1 3種循環的使用場景 111

4.8.2 continue和break語句的區別 111

4.9 小結 112

4.10 動手糾錯 112

第5章 數組—批量數據處理 113

5.1 數組概述 114

5.2 一維數組 115

5.2.1 一維數組的創建 115

5.2.2 一維數組的初始化 116

5.2.3 一維數組的使用 117

5.3 二維數組 118

5.3.1 二維數組的創建 118

5.3.2 二維數組的初始化 120

5.3.3 二維數組的使用 122

5.3.4 不規則數組的定義 123

5.4 數組與Array類 124

5.5 數組的基本操作 126

5.5.1 使用foreach語句遍歷數組 126

5.5.2 對數組進行排序 128

5.6 難點解答 129

5.6.1 為什麼數組的索引從0開始? 129

5.6.2 如何獲取二維數組的列數? 129

5.7 小結 130

5.8 動手糾錯 130

第6章 看似簡單的字元串 131

6.1 什麼是字元串 132

6.2 字元串的聲明與初始化 132

6.2.1 聲明字元串 132

6.2.2 字元串的初始化 133

6.3 提取字元串信息 134

6.3.1 獲取字元串長度 134

6.3.2 獲取指定位置的字元 134

6.3.3 獲取子字元串索引位置 135

6.3.4 判斷字元串首尾內容 137

6.4 字元串操作 138

6.4.1 字元串的拼接 138

6.4.2 比較字元串 139

6.4.3 字元串的大小寫轉換 141

6.4.4 格式化字元串 141

6.4.5 截取字元串 146

6.4.6 分割字元串 147

6.4.7 去除空白內容 149

6.4.8 替換字元串 150

6.5 可變字元串類 151

6.5.1 StringBuilder類的定義 151

6.5.2 StringBuilder類的使用 152

6.6 難點解答 153

6.6.1 null和""的區別 153

6.6.2 StringBuilder類與string類的區別 153

6.7 小結 154

6.8 動手糾錯 154

第7章 面向對象程式設計 155

7.1 面向對象概述 156

7.1.1 對象 156

7.1.2 類 158

7.1.3 三大基本特徵 158

7.2 類 160

7.2.1 類的聲明 160

7.2.2 類的成員 160

7.2.3 構造函式 164

7.2.4 析構函式 167

7.2.5 許可權修飾符 168

7.3 方法 169

7.3.1 方法的聲明 169

7.3.2 方法的參數 170

7.3.3 方法的重載 172

7.4 類的靜態成員 174

7.5 對象的創建及使用 175

7.5.1 對象的創建 175

7.5.2 對象的銷毀 177

7.5.3 類與對象的關係 178

7.6 繼承 178

7.6.1 繼承的實現 178

7.6.2 base關鍵字 181

7.6.3 繼承中的構造函式與析構函式 183

7.7 多態 183

7.7.1 虛方法的重寫 184

7.7.2 抽象類與抽象方法 186

7.7.3 接口的使用 188

7.8 難點解答 192

7.8.1 ref參數和params參數的使用 192

7.8.2 抽象類與接口的區別 193

7.9 小結 193

7.10 動手糾錯 193

第2篇 核心技術 195

第8章 Windows 互動式圖形界面 196

8.1 開發應用程式的步驟 197

8.2 Form窗體 199

8.2.1 添加和刪除窗體 200

8.2.2 多窗體的使用 201

8.2.3 窗體的屬性 202

8.2.4 窗體的顯示與隱藏 204

8.2.5 窗體的事件 205

8.3 MDI窗體 207

8.3.1 MDI窗體的概念 207

8.3.2 如何設定MDI窗體 208

8.3.3 排列MDI子窗體 209

8.4 難點解答 211

8.4.1 Show方法和ShowDialog方法的區別 211

8.4.2 如何實現MDI窗體不重複打開同一個子窗體? 212

8.5 小結 212

8.6 動手糾錯 213

第9章 Windows 控制項—C/S程式的基礎...215 215

9.1 控制項概述 216

9.2 控制項的相關操作 217

9.2.1 添加控制項 217

9.2.2 對齊控制項 217

9.2.3 刪除控制項 218

9.3 Windows控制項的使用 218

9.3.1 Label控制項 218

9.3.2 Button控制項 219

9.3.3 TextBox控制項 220

9.3.4 RadioButton控制項 221

9.3.5 CheckBox控制項 223

9.3.6 RichTextBox控制項 225

9.3.7 ComboBox控制項 227

9.3.8 ListBox控制項 228

9.3.9 GroupBox控制項 230

9.3.10 ListView控制項 230

9.3.11 TreeView控制項 233

9.3.12 ImageList組件 237

9.3.13 Timer組件 237

9.4 選單、工具列與狀態欄 239

9.4.1 MenuStrip控制項 239

9.4.2 ToolStrip控制項 240

9.4.3 StatusStrip控制項 241

9.5 對話框 243

9.5.1 訊息框 244

9.5.2 打開對話框控制項 245

9.5.3 另外儲存為對話框控制項 246

9.5.4 瀏覽資料夾對話框控制項 247

9.6 難點解答 248

9.6.1 在窗體中看不到可視控制項的原因 248

9.6.2 控制項和組件的區別 249

9.7 小結 249

9.8 動手糾錯 249

第10章 數據訪問技術 251

10.1 ADO.NET概述 252

10.1.1 ADO.NET對象模型 252

10.1.2 數據訪問命名空間 253

10.2 Connection數據連線對象 253

10.2.1 熟悉Connection對象 254

10.2.2 資料庫連線字元串 254

10.2.3 套用SqlConnection對象連線資料庫 255

10.3 Command命令執行對象 256

10.3.1 熟悉Command對象 256

10.3.2 套用Command對象運算元據 257

10.3.3 套用Command對象調用存儲過程 258

10.4 DataReader數據讀取對象 260

10.4.1 DataReader對象概述 260

10.4.2 使用DataReader對象檢索數據 261

10.5 DataSet對象和DataAdapter操作對象 263

10.5.1 DataSet對象 263

10.5.2 DataAdapter對象 264

10.5.3 填充DataSet數據集 265

10.6 DataGridView控制項的使用 266

10.7 Entity Framework編程基礎 269

10.7.1 什麼是Entity Framework 269

10.7.2 Entity Framework實體數據模型 270

10.7.3 Entity Framework運行環境 270

10.7.4 創建實體數據模型 271

10.7.5 通過EF對數據表進行增刪改查操作 274

10.8 難點解答 276

10.8.1 DataSet對象與DataReader對象的區別 276

10.8.2 EF相對於ADO.NET的優勢 277

10.9 小結 277

10.10 動手糾錯 277

第11章 程式調試與異常處理 279

11.1 程式調試 280

11.1.1 Visual Studio編輯器調試 280

11.1.2 Visual Studio調試器調試 281

11.2 異常處理 285

11.2.1 try…catch語句 286

11.2.2 try…catch…f inally語句 287

11.2.3 throw語句 288

11.3 難點解答 290

11.3.1 使用多個catch時的注意事項 290

11.3.2 異常的使用原則 291

11.4 小結 292

11.5 動手糾錯 292

第3篇 高級套用 293

第12章 I/O 數據流技術 294

12.1 檔案基本操作 295

12.1.1 File類 295

12.1.2 FileInfo類 296

12.1.3 判斷檔案是否存在 297

12.1.4 創建檔案 298

12.1.5 複製檔案 299

12.1.6 移動檔案 299

12.1.7 刪除檔案 300

12.1.8 獲取檔案基本信息 301

12.2 資料夾基本操作 302

12.2.1 Directory類 303

12.2.2 DirectoryInfo類 303

12.2.3 判斷資料夾是否存在 304

12.2.4 創建資料夾 305

12.2.5 移動資料夾 305

12.2.6 刪除資料夾 306

12.2.7 遍歷資料夾 307

12.3 I/O(輸入/輸出) 310

12.3.1 流概述 310

12.3.2 檔案I/O流介紹 311

12.3.3 使用I/O流操作文本檔案 313

12.4 難點解答 316

12.4.1 文本檔案的編碼方式 316

12.4.2 什麼時候使用輸入流?什麼時候使用輸出流? 316

12.5 小結 317

12.6 動手糾錯 317

第13章 GDI+ 繪圖套用 319

13.1 GDI+繪圖基礎 320

13.1.1 GDI+概述 320

13.1.2 Graphics繪圖類 320

13.2 設定畫筆與畫刷 321

13.2.1 設定畫筆 321

13.2.2 設定畫刷 322

13.3 繪製幾何圖形 323

13.3.1 繪製圖形 325

13.3.2 填充圖形 327

13.4 繪製圖像 329

13.5 難點解答 330

13.5.1 解決圖像消失的問題 330

13.5.2 實現圖像特殊效果的通用方法 331

13.6 小結 332

13.7 動手糾錯 332

第14章 Socket 網路編程 333

14.1 計算機網路基礎 334

14.1.1 區域網路與廣域網 334

14.1.2 網路協定 334

14.1.3 連線埠及套接字 336

14.2 IP位址封裝 337

14.3 TCP程式設計 340

14.3.1 Socket類 340

14.3.2 TcpClient類和TcpListener類 342

14.3.3 TCP網路程式實例 343

14.4 UDP程式設計 346

14.4.1 UdpClient類 346

14.4.2 UDP網路程式實例 347

14.5 難點解答 351

14.5.1 TCP協定和UDP協定的區別 351

14.5.2 網路之間可以傳遞哪些數據? 351

14.6 小結 351

14.7 動手糾錯 351

第15章 多執行緒編程技術 353

15.1 執行緒概述 354

15.1.1 執行緒的定義與分類 354

15.1.2 多執行緒的優缺點 355

15.2 執行緒的實現 355

15.2.1 使用Thread類創建執行緒 355

15.2.2 執行緒的生命周期 358

15.3 操作執行緒的方法 359

15.3.1 執行緒的休眠 359

15.3.2 執行緒的加入 361

15.3.3 執行緒的終止 363

15.3.4 執行緒的優先權 364

15.4 執行緒的同步 365

15.4.1 執行緒同步機制 366

15.4.2 使用lock關鍵字實現執行緒同步 367

15.4.3 使用Monitor類實現執行緒同步 369

15.4.4 使用Mutex類實現執行緒同步 371

15.5 難點解答 372

15.5.1 過時的Suspend方法和Resume方法 372

15.5.2 了解執行緒池 373

15.6 小結 373

15.7 動手糾錯 374

第4篇 項目實戰 375

第16章 五子棋大廳遊戲 376

16.1 開發背景 377

16.2 系統功能設計 377

16.2.1 系統功能結構 377

16.2.2 系統業務流程 377

16.3 系統開發必備 378

16.3.1 系統開發環境要求 378

16.3.2 資料庫設計 379

16.3.3 項目目錄結構預覽 379

16.3.4 界面預覽 380

16.4 自定義UDP協定控制項 382

16.5 伺服器窗體設計 386

16.5.1 伺服器窗體概述 386

16.5.2 設計伺服器窗體 386

16.5.3 開始/停止服務 387

16.5.4 設定分數排名方式 387

16.5.5 關閉伺服器 388

16.6 客戶端註冊窗體設計 389

16.6.1 客戶端註冊窗體概述 389

16.6.2 設計客戶端註冊窗體 389

16.6.3 系統載入時獲取本地IP位址 390

16.6.4 在下拉列表中繪製圖片 391

16.6.5 註冊用戶功能的實現 392

16.7 五子棋大廳窗體設計 394

16.7.1 五子棋大廳窗體概述 394

16.7.2 設計五子棋大廳窗體 395

16.7.3 循環播放背景音樂 396

16.7.4 進入指定的房間 396

16.7.5 進入指定的座位 399

16.7.6 區域網路內的公共聊天 402

16.8 遊戲對決窗體設計 403

16.8.1 遊戲對決窗體概述 403

16.8.2 設計遊戲對決窗體 404

16.8.3 開始五子棋對決 405

16.8.4 五子棋算法實現 407

16.8.5 在棋盤上添加雙方的棋子 411

16.8.6 判斷雙方的輸贏 414

16.9 小結 416

附錄 實例索引 417

相關詞條

相關搜尋

熱門詞條

聯絡我們