內容簡介
C#語言作為.NET開發平台中最重要的一門語言,越來越受到廣大程式開發人員的青睞和熱捧。本書以微軟最新版本的C # 4.0為基礎,詳細講解了如何快速掌握C # 4.0的相關知識,是一本有效、實用的初級入門圖書。
本書共分為7篇,第一篇主要講解了C#的基礎知識和基本語法;第二篇主要講解C#基礎編程知識;第三篇主要講解了如何利用C#進行Windows應用程式開發;第四篇主要講解了利用C#進行Web應用程式開發的流程,以及如何對其進行調試;第五篇主要講解了資料庫以及XML編程的有關知識;第六篇作為提高部分,講解了執行緒、註冊表的相關操作;在第七篇中,利用所學知識製作了一個網站,以達到鞏固所學的目的。
本書適合於學習C#的初、中級讀者。如果是初級讀者,使用本書,會使你順利進入C#開發領域;如果已經具備visual studio 2010的開發基礎,那么本書將是你提高開發技能的必備用書。此外,本書還可以作為大中專院校及培訓機構Visual Studio 2010開發的參考教材。
前 言
近年來,隨著計算機技術的迅猛發展,越來越多的人接觸到了電腦,而且迫切希望自己開發出一部分相關的簡單程式。微軟最新開發的Visual C# 4.0語言及其開發環境Visual Studio 2010適應了這個需要。C#語言本身是一門開發語言,並隨著.NET Framework一起由微軟開發和發布。目前.NET Framework的最新版本是4.0,因此也被稱為C# 4.0。本書以最新的C# 4.0和Visual Studio 2010為基礎,循序漸進地介紹了從入門到深入掌握C# 4.0的各個使用方面。
為了方便廣大讀者學習,編者結合自己的學習和開發經驗編寫了本書。本書全面介紹了C#基本語法、C# Windows應用程式開發、C# Web應用程式開發、C#數據操作、C#高級編程等關鍵技術,在具體講解內容時,配以大量實例,並附有詳細的代碼注釋。
本書特點
1.內容全面,詳略得當
本書共分7篇18章,在講解過程中,採用循序漸進、逐步深化的模式,結合實際範例進行講解,幾乎涵蓋C# 4.0的所有知識點。
2.結構清晰,講解規範
為了方便讀者學習,本書首先讓讀者了解C# 4.0的基本概念,在此基礎上,介紹了其開發環境Visual Studio 2010的詳細安裝過程,接著講解了C#的基本語法以及C#的Windows開發和Web開發,最後利用所學知識製作了信息發布系統,鞏固了所學知識。
3.注重操作,強化實踐
本書在講解中,重點突出實用性,過程步驟清晰、易於操作。全書採用循序漸進的教學方式,實現的是代碼配以分析的講解方式,將基礎知識與實例教學進行完美結合。讀者可以根據本書講解進行實際操作,即可開發出相應的應用程式,從而逐步掌握Microsoft Visual Studio 2010和C# 4.0的相關技術。
4.精編案例,深入剖析
在寫作本書的過程中,編者結合自己的學習和開發經驗,列舉了大量實戰案例,這些案例全部通過調試,而且還配以詳細的代碼解析,並將源檔案存儲在配套光碟中。讀者如需查看各個案例的源檔案,從光碟中即可找到。
本書內容
本書共分為7篇18章,主要內容如下。
第一篇(第1章~第4章)初識C#。
主要介紹了關於C#的一些基本知識,包括認識C#、淺析C#基本語法、C#面向對象編程基礎、面向對象的高級技術等內容。
第二篇(第5章~第7章)C#編程基礎。
主要介紹了關於C#編程基礎的一些基本內容,包括字元與字元串常量、數組、Windows窗體等。
第三篇(第8章~第9章)C# Windows應用程式開發。
該部分內容在前面所學基礎上,主要介紹了C# Windows應用程式開發的相關知識,包括Windows應用程式開發基礎和使用Windows控制項、組件和對話框等。
第四篇(第10章~第12章)C# Web應用程式開發。
在前面介紹開發Windows應用程式的基礎上,主要介紹了C# Web應用程式開發的一些知識,包括開發Web應用程式、跟蹤調試Web應用程式、配置Web應用程式等。
第五篇(第13章~第15章)C#數據操作。
該部分結合前面章節學習的內容,介紹了C#數據操作的有關知識,包括C#數據訪問技術、C#數據綁定技術、XML編程等。
第六篇(第16章~第17章)C#高級編程。
該部分屬於提高部分,主要介紹了關於C#高級編程的有關內容,包括檔案和註冊表操作、C#中的執行緒問題等。
第七篇(第18章)C#綜合案例。
通過製作一個具有典型代表性的Web應用程式,詳細介紹了C# 4.0 Web應用程式的開發過程,通過對整個流程的介紹,不僅複習了前面學習的知識,而且也了解了項目實踐的流程和技巧。
本書讀者
希望從事軟體和網站開發領域的新手。
C#或基礎語言學習人員。
C#入門者或ASP.N E T入門者。
從事C#編程的技術開發人員。
想自學C#開發軟體和網站的計算機愛好者。
大中專院校的學生。
本書編者
本書主要由李斌編寫,其他參與編寫的人員有劉成、馬臣雲、潘娜、阮履學、陶則熙、王大強、王磊、徐琦、許少峰、顏盟盟、楊娟、楊瑞萍、于海波、俞菲、曾苗苗、趙瑩、朱存等。
目 錄
第1篇 初識C#
第1章 認識C#及其相關特性 2
1.1 C#簡介 2
1.1.1 C#語言特點及概述 2
1.1.2 C#與C、C++的關係 3
1.1.3 C#與.NET Framework框架的關係 3
1.1.4 C#中命名空間的作用 4
1.2 Visual Studio 2010簡介 6
1.2.1 Visual Studio 2010的歷史與現在 6
1.2.2 首選Visual Studio 2010開發C#的原因 6
1.2.3 Visual Studio 2010的安裝 8
1.2.4 熟悉Visual Studio 2010的使用環境 10
1.3 編寫第一個經典Windows應用程式 12
1.3.1 Windows應用程式概念辨析 12
1.3.2 開發經典的Hello World Windows控制台應用程式 12
1.4 開發第一個Web應用程式 14
1.4.1 Web應用程式概述 14
1.4.2 開發經典的Hello World Web應用程式 14
1.4.3 Windows應用程式與Web應用程式的異同點 17
1.5 本章小結 18
1.6 本章習題 18
第2章 淺析C#基本語法 20
2.1 C#中的變數和常量 20
2.1.1 變數簡介 20
2.1.2 變數的作用域和賦值 20
2.1.3 聲明一個變數 22
2.1.4 變數中的值類型 23
2.1.5 變數中的引用類型 25
2.1.6 變數中的枚舉類型 26
2.1.7 對變數進行類型轉換 28
2.1.8 常量定義及其使用 29
2.2 C#中的運算符與表達式 30
2.2.1 表達式和運算符簡介 30
2.2.2 賦值運算符 33
2.2.3 算術運算符 34
2.2.4 條件運算符 34
2.2.5 關係運算符 35
2.2.6 邏輯運算符 36
2.2.7移位運算符37
2.2.8 其他重要的運算符 38
2.2.9 運算符的優先權 39
2.2.10 運算符的重載 40
2.3 流程控制語句 42
2.3.1 使用選擇語句 42
2.3.2 使用循環語句 44
2.3.3 使用跳轉語句 47
2.4 C#中的命令行編譯器 51
2.4.1 利用C#編譯器進行命令行生成 51
2.4.2 設定相關環境與參數 52
2.4.3 編譯C#類庫 53
2.5控制台程式54
2.5.1 C#語言中的Main方法簡介 54
2.5.2 C#語言中的WriteLine方法簡介 57
2.6 本章小結 58
2.7 本章習題 58
第3章 C#面向對象編程基礎 59
3.1 面向對象編程的基本概念 59
3.2 類 59
3.2.1 類的概念 59
3.2.2 聲明一個類 60
3.2.3 類成員的聲明和訪問 61
3.3 接口 64
3.3.1 接口的概念和聲明 64
3.3.2 接口的定義和實現 64
3.4 對象 66
3.4.1 對象的聲明和訪問 66
3.4.2 對象和類的關係 67
3.5 方法 68
3.5.1 方法的聲明和參數 68
3.5.2 靜態方法和非靜態方法 69
3.5.3 重載方法 71
3.5.4 析構函式 72
3.5.5 構造函式 73
3.6 屬性 77
3.6.1 屬性的有關概念 78
3.6.2 如何使用屬性 78
3.7 本章小結 82
3.8 本章習題 82
第4章 面向對象的高級技術 83
4.1 封裝技術 83
4.1.1 封裝的作用 83
4.1.2 如何實現封裝 84
4.2 多態技術 86
4.2.1 多態的作用 86
4.2.2 如何實現多態 86
4.3 繼承技術 88
4.3.1 繼承的作用 88
4.3.2 如何實現繼承 88
4.4匿名方法的定義和使用 89
4.5 抽象類與抽象方法 90
4.5.1 抽象類與抽象方法概述及聲明 90
4.5.2 如何使用抽象類與抽象方法 91
4.6 異常處理 92
4.6.1 異常處理簡介 92
4.6.2 拋出和捕獲異常 92
4.6.3 預定義異常 93
4.6.4 使用try…catch…finally語句處理異常 94
4.6.5 使用throw語句處理異常 94
4.6.6 用戶自定義異常 95
4.6.7 使用finally塊 95
4.7 域 96
4.7.1 域的用途 97
4.7.2 域的聲明 97
4.8 本章小結 97
4.9 本章習題 97
第2篇 C#編程基礎
第5章 字元與字元串常量 100
5.1 字元類數據Char 100
5.1.1 Char類數據簡介 100
5.1.2 使用Char類數據 100
5.2 字元串類數據String 102
5.2.1 String類數據簡介 102
5.2.2 使用String類數據 102
5.2.3 比較兩個字元串 103
5.2.4 格式化字元串 104
5.2.5 截取字元串 106
5.3 可變字元串類StringBuilder 106
5.3.1 定義StringBuilder類 107
5.3.2 使用StringBuilder類 107
5.3.3 StringBuilder類與String類的區別 108
5.4 本章小結 108
5.5 本章習題 108
第6章 數組 110
6.1 數組簡介 110
6.2 一維數組的聲明和使用 111
6.3 二維數組的聲明和使用 112
6.4 交錯數組的聲明及使用 113
6.5 數組的接口 114
6.6 數組基本操作 115
6.6.1 遍歷整個數組 115
6.6.2 對數組進行排序 116
6.6.3 複製數組元素 117
6.6.4 合併與拆分數組 118
6.7ArrayList類120
6.7.1 ArrayList類簡介 120
6.7.2 添加與刪除ArrayList類元素 121
6.7.3 遍歷ArrayList類元素 122
6.7.4 查找ArrayList類指定元素的索引 124
6.8 本章小結 125
6.9 本章習題 125
第7章 Windows窗體 127
7.1 Form窗體 127
7.1.1 Form窗體簡介 127
7.1.2 添加和刪除一個窗體 127
7.1.3 多窗體 130
7.1.4 窗體有關屬性 131
7.1.5 顯示與隱藏窗體 132
7.1.6 窗體的常用方法 133
7.2 繼承窗體 134
7.2.1 繼承窗體簡介 134
7.2.2 創建繼承窗體 134
7.2.3 修改繼承的控制項屬性 135
7.3 本章小結 136
7.4 本章習題 136
第3篇 C# Windows應用程式開發
第8章 Windows應用程式開發基礎 140
8.1 Windows窗體應用程式簡介 140
8.2 Windows應用程式的開發界面 140
8.2.1 解決方案資源管理器 141
8.2.2 工具箱 142
8.2.3 工具列 143
8.3 Windows應用程式開發的一般流程 144
8.4 開發一個簡單的Windows應用程式 145
8.4.1 添加選單欄、工具列與狀態欄 145
8.4.2 為狀態欄添加其他控制項 148
8.4.3 添加相關文本框和按鈕 148
8.4.4 為添加的控制項添加回響事件 149
8.5 本章小結 150
8.6 本章習題 150
第9章 使用Windows控制項、組件和對話框 152
9.1 控制項簡介 152
9.1.1 控制項的詳細分類及作用 152
9.1.2 控制項的命名規範 152
9.2標準控制項153
9.3 公共控制項 153
9.3.1 利用Label控制項顯示相關文本或標籤 153
9.3.2 利用Button控制項單擊產生動作 155
9.3.3 利用TextBox控制項輸入文本或數字 156
9.3.4 利用ListBox控制項顯示檔案列表 158
9.3.5 利用TreeView控制項製作樹目錄 160
9.3.6 利用DateTimePicker控制項選擇相關日期 161
9.3.7 利用ProgressBar控制項顯示相關操作進度 163
9.4 狀態欄和選單 164
9.4.1 利用ToolStrip控制項顯示工具列信息 165
9.4.2 利用ContextMenuStrip控制項製作彈出式選單 166
9.4.3 其他狀態欄和選單控制項 167
9.5容器控制項169
9.5.1 利用TabControl控制項顯示多個選項卡 169
9.5.2 利用SplitContainer分隔相鄰的兩個面板 171
9.5.3 利用FlowLayoutPanel控制項排列內容 171
9.6 組件 172
9.6.1 利用HelpProvider組件關聯提供的上下文幫助 172
9.6.2 利用Timer組件定期引發某個事件的發生 174
9.7 對話框 175
9.7.1 利用SaveFileDialog對話框將檔案保存到指定位置 175
9.7.2 利用OpenFileDialog對話框打開指定檔案 177
9.8 定製控制項 179
9.9 本章小結 179
9.10 本章習題 179
第4篇 C# Web應用程式開發
第10章 開發Web應用程式 182
10.1 Web應用程式開發簡介 182
10.2 創建第一個Web應用程式 183
10.2.1 解決方案資源管理器 183
10.2.2 工具箱 184
10.2.3 生成第一個Web應用程式 184
10.2.4Web窗體186
10.2.5 開發Web應用程式 188
10.3 Web應用程式常用控制項 189
10.3.1 標準控制項 189
10.3.2 驗證控制項 196
10.3.3 導航控制項 200
10.3.4 登錄控制項 206
10.4 ASP.N E T內置對象 209
10.4.1 利用Page對象載入或初始化事件 209
10.4.2 利用Request對象從瀏覽器中得到數據 212
10.4.3 利用Response對象輸出信息到客戶端 214
10.4.4 利用Server對象訪問遠程伺服器 217
10.4.5 利用Application對象生成一個網站全局變數 218
10.4.6 利用Cookie對象保存信息 220
10.4.7 利用Session對象保存臨時會話狀態 221
10.4.8 利用Cache對象實現快取 222
10.5 本章小結 224
10.6 本章習題 224
第11章 跟蹤調試Web應用程式 226
11.1 跟蹤應用程式 226
11.1.1 跟蹤的定義 226
11.1.2 頁面級跟蹤和應用程式級跟蹤 226
11.2 調試應用程式 229
11.2.1 Web.Config檔案簡介 229
11.2.2 Web程式在Web.config檔案中的常用配置 231
11.2.3 創建Web.config檔案 232
11.2.4 啟動代碼級斷點調試 233
11.3 對應用程式進行錯誤處理 235
11.3.1 錯誤處理的定義 235
11.3.2 利用Page_Error事件處理錯誤 236
11.3.3 利用Application_Error程式控制應用程式級錯誤 237
11.3.4 利用Web.Config控制頁面級錯誤 237
11.4 本章小結 238
11.5 本章習題 238
第12章 配置Web應用程式 239
12.1 應用程式配置簡介 239
12.1.1 應用程式配置的定義 239
12.1.2 應用程式配置的作用 239
12.2 配置檔案的格式 240
12.2.1 配置檔案簡介 240
12.2.2 使用配置檔案 240
12.3 標準ASP.N E T配置節 245
12.3.1 ASP.N E T常用配置節簡介 245
12.3.2 使用標準的ASP.N E T配置節 245
12.4 為Web應用程式設定本地化信息 247
12.5 本章小結 248
12.6 本章習題 248
第5篇 C#數據操作
第13章 C#數據訪問技術 250
13.1 SQL Server資料庫基礎知識 250
13.1.1 資料庫概述 250
13.1.2 安裝SQL Server 2008資料庫 251
13.1.3 創建及刪除資料庫 259
13.1.4 創建及刪除數據表 261
13.1.5 SQL結構化查詢語言簡介 265
13.1.6 SQL常用語句實例 267
13.2 ADO.N E T資料庫簡介 270
13.2.1 ADO.N E T技術 270
13.2.2 ADO.N E T的結構和工作原理 271
13.3 資料庫連線對象Connection 271
13.3.1 Connection對象簡介 271
13.3.2 連線一個資料庫 272
13.3.3 關閉已經存在的連線 273
13.4 SQL語句執行對象Command 273
13.4.1 Command對象簡介 274
13.4.2 設定數據源的類型 275
13.4.3 使用Command對象對資料庫執行增加、刪除、修改操作 275
13.5 數據讀取對象DataReader 280
13.5.1 DataReader對象簡介 280
13.5.2 利用DataReader對象讀取數據 281
13.6 本章小結 282
13.7 本章習題 282
第14章 C#數據綁定技術 284
14.1 簡單介紹數據綁定 284
14.1.1 簡單數據綁定和複雜數據綁定 284
14.1.2綁定變數285
14.2 格線視圖控制項GridView 285
14.2.1DataGrid控制項和GridView控制項的異同點 285
14.2.2 GridView控制項 286
14.2.3 在GridView控制項中修改、刪除、選擇數據 287
14.2.4 在GridView控制項中對數據進行瀏覽 289
14.3 利用列表控制項進行數據綁定 291
14.3.1 將HashTable綁定到RadioButtonList控制項 291
14.3.2 將DataReader綁定到ListBox控制項 293
14.3.3 將DataSet綁定到dropdownlist控制項 295
14.3.4 將DataTable綁定到CheckBoxList控制項 297
14.4 其他數據綁定控制項 299
14.4.1 數據列表:datalist控制項 300
14.4.2 單記錄顯示控制項:FormView控制項 302
14.4.3 循環控制項:Repeater控制項 304
14.5 本章小結 306
14.6 本章習題 306
第15章 XML編程 308
15.1 .NET框架中的XML 308
15.1.1 XML的有關概念 308
15.1.2 在XML文檔中的對象模型 310
15.1.3 System.Xml命名空間 312
15.1.4 System.Xml命名空間中的類 314
15.1.5 XML架構對象模型 316
15.2 讀寫流格式的XML文檔 320
15.2.1 XmlTextReader類 320
15.2.2 XmlTextWriter類 323
15.3 讀取XML文檔 323
15.3.1 讀取XML節點 323
15.3.2 使用XmlReader讀取XML 324
15.3.3 使用XmlDocument讀取XML 324
15.4 在DOM中驗證XML文檔 326
15.5 修改XML文檔 329
15.5.1 創建一個新的DOM節點 329
15.5.2 為DOM節點創建屬性 330
15.5.3 修改DOM節點 332
15.5.4 刪除DOM節點 333
15.6 XML數據轉換 334
15.6.1 將字元串轉換為.NET Framework數據類型 334
15.6.2 將.NET Framework類型轉換為字元串 335
15.7 集成數據對象DataSet 335
15.7.1 使用DataSet載入XML數據 336
15.7.2 使用XmlDataDocument載入關係數據 337
15.8 本章小結 338
15.9 本章習題 338
第6篇 C#高級編程
第16章 檔案操作和註冊表操作 340
16.1 檔案操作 340
16.1.1 .NET中檔案和資料夾的類 340
16.1.2 移動、複製、刪除檔案和資料夾 348
16.1.3 檔案流 351
16.1.4 讀取與寫入檔案 351
16.1.5 讀寫二進制檔案 355
16.1.6 讀取驅動器信息 361
16.2 註冊表操作 363
16.2.1 註冊表簡介 363
16.2.2 Registry類的使用 364
16.2.3 RegistryKey類的使用 366
16.2.4 寫入註冊表 369
16.2.5 讀取註冊表 370
16.3 本章小結 371
16.4 本章習題 372
第17章 執行緒 373
17.1 執行緒的基本概念 373
17.1.1 單執行緒 373
17.1.2 多執行緒 373
17.2 執行緒中的基本問題 375
17.2.1 使用執行緒中的Thread類 375
17.2.2 創建一個執行緒 376
17.2.3 給執行緒傳遞數據 377
17.2.4 掛起與恢複線程 378
17.2.5 後台執行緒詳細操作 379
17.2.6 終止與休眠執行緒 380
17.2.7 執行緒的優先權 381
17.2.8 使兩執行緒同步 383
17.3 執行緒中的高級問題 384
17.3.1 執行緒中的競態條件問題 385
17.3.2 執行緒中的死鎖問題 386
17.4 本章小結 387
17.5 本章習題 387
第7篇 C#綜合案例
第18章 製作Web信息發布系統 390
18.1 系統總體架構概述 390
18.2 系統需求分析 390
18.2.1 系統功能結構分析 391
18.2.2 網站架設 392
18.3 資料庫詳細設計 393
18.4 系統檔案詳細結構設計 394
18.5 編寫網站配置檔案 395
18.6 前台頁面詳細開發流程 396
18.6.1 結構布局分析 396
18.6.2 實現導航 396
18.6.3 製作推薦信息頁面 397
18.6.4 製作信息搜尋頁面 402
18.6.5 製作信息的詳細閱讀頁面 404
18.7 製作後台管理模組 406
18.7.1 後台功能需求分析 406
18.7.2 製作管理員登錄模組 406
18.7.3 製作信息發布模組 407
18.7.4 製作信息管理模組 411
18.7.5 製作登錄認證模組 415
18.7.6 製作安全退出系統模組 416
18.8 本章小結 416