宣傳語
本書特色:
理論結合實際,自學門檻低,內容新穎豐富
直接面向實際開發,以套用目的為驅動
案例貼近現實,代碼注釋規範、標準
知識點豐富,面向C#開發的各個領域
提供兩個完整的案例,講解從分析設計到代碼實現
作者的提示
這是一本講述Visual C# 2008的書,主要的目的是讓讀者接觸、了解並使用C#程式語言進行項目開發。作為一種流行的程式語言,Visual C# 2008帶給開發人員一個廣闊的開發空間,從簡單的控制台程式到傳統的桌面應用程式開發、分散式套用、Web應用程式以及Web服務等,Visual C# 2008都提供了全面的支持。
學習一門程式語言就好像經歷一次旅行,旅行道路或寬闊光明,或曲折幽暗,想要欣賞到最真實自然的風景,還需要旅行者堅持不懈地追求和努力。本書為立志於從事C#編程的初、中級人員提供了學習指南。在內容的編排和目錄的組織上,力求讓讀者快速地建立一個Visual C# 2008知識結構的框架。在每章、每節中通過輔以大量的代碼,讓讀者對知識點進行實踐性的掌握。
本書特色
1.配有學習論壇,讀者可以在上面討論技術,筆者會及時回答讀者提問,並提供各種技術文章,幫助讀者提高開發水平。
2.簡潔、明了。使用簡明易懂的語言對知識點進行講解,避免使用廢話、複雜句,影響讀者的閱讀。
3.知識要點組織明確。漸進式的知識組織,讓讀者一步一步地形成一個知識體系。
4.大量圖解和實例,加深讀者印象。對於書中的實例輔以示意圖形或程式運行結果截圖,加深讀者對知識點的印象。
5.配有2個綜合案例。其中時間跟蹤系統很有意思,目前其他書籍中都沒有介紹過,讀者可以從中體會項目管理的精髓。
6.光碟內容豐富。贈送了豐富的視頻資源和案例源檔案,具體內容參考光碟內容介紹。
本書結構
一、源程式
主要包括書中涉及的所有源程式檔案,全部按照章節整理。
二、免費贈送的學習資料
1..NET網路開發技術電子書(182頁)
第0章 Web開發基礎知識 第4章 標準伺服器控制項
第1章 走進.NET 2.0 第5章 HTML伺服器控制項
第2章 類、對象和命名空間 第6章 數據驗證控制項
第3章 .NET 2.0核心對象
2.Visual C# 2005開發技術電子書(199頁)
第1章 C#與.NET Framework簡介 第6章 抽象類、多態及接口
第2章 C#程式設計基礎 第7章 處理異常和錯誤
第3章 與用戶互動 第8章 XML編程
第4章 常用控制項 第9章 應用程式部署
第5章 類 第10章 時間跟蹤系統
3..NET資料庫開發技術電子書(154頁)
第1章 運算元據庫 第5章 XML編程
第2章 使用資料庫 第6章 數據映射方案
第3章 使用數據綁定和DataSet 第7章 NHibernate事務、並發和快取
第4章 SQL Server XML的功能 第8章 NHibernate高級數據映射和查詢
4..net Ajax開發電子書(124頁)
第1章:初識.NET AJAX
第2章:AJAX Control Toolkit中的文本輸入處理
第3章:基於AJAX的電子郵件處理
5..NET 2.0入門視頻(4個)
Visual Studio的安裝和配置;
.NET Web程式開發入門;
.NET程式調試方法;
運行eBookShop實例。
6..NET 3.5入門視頻(6個)
創建.NET程式
創建窗體應用程式
創建控制台應用程式
打開現有程式
讀取SQLExpress數據
使用SQLExpress建立資料庫
7.常見的典型系統(5個)
部落格引擎:一個結構精煉但功能強大的部落格系統,它充分利用了.NET 2.0的新特性,比如母版頁、主題、國際化等界面特性,還使用了提供者模型實現了一個可擴展的數據訪問層。
時間跟蹤系統:在工作團隊內部,經常會列出項目計畫、項目人員等信息。使用時間跟蹤系統,將這些計畫信息錄入系統,在項目完成時錄入實際完成信息,這樣可以跟蹤項目進度。通過自定義的報表生成,可以將預計與實際完成的時間進行比較。
圖書館管理系統:該管理信息系統具有一個典型的Windows窗體應用程式界面,並完成圖書館日常工作中大部分常見的流程。本系統具備的功能有圖書入庫、借書、還書、圖書管理、借閱人員管理、系統使用人員管理和懲罰管理等。
線上求職系統:本系統可以為企業和求職者提供一個互動的供求平台。企業需要查看網站人才庫中感興趣的求職者信息,發布公司用人需求,並建立與求職者的互動。求職者需要查看企業所發布的招聘信息,並能通過求職網站了解公司的基本資料,求職者與企業都要方便地收藏感興趣的信息,以便於進一步的相互溝通與交流。
中小型企業網站:本系統為企業提供了一個展示的平台,向外界提供企業產品資料、企業專業人員、企業的客戶信譽,以及企業的相關新聞和聯繫方式。
作者
2008年10月
目 錄
本書學習導航如下:
要認識C#開發並掌握C#語言的語法,請仔細閱讀第1~9章
要了解Visual Studio 2008的全局環境,請仔細閱讀第2章
要學習Visual Studio 2008的界面開發的關鍵,請仔細閱讀第6章
要學習C#語言的面向對象開發基礎,請仔細閱讀第7~13章
要掌握C#結合資料庫的開發,請仔細閱讀第2~6章、第14~15章和第21章的實例
要學習.NET 3.5框架新增加的內容,請仔細閱讀第2章和第16章
要掌握C#網路編程的特點和技術,請仔細閱讀第17~19章
建議初學者全面學習本書,結合光碟資源練習實例,細讀勤練必有收穫
第1篇 C#基礎
1 C#語言和框架概述 18
1.1 .NET 3.5框架 18
1.1.1 .NET 3.5框架支持的開發語言 18
1.1.2 C#語言的特色 19
1.1.3 C#語言的運行機制 19
1.1.4 C#語言的底層類庫 20
1.2 編寫C#語言 21
1.2.1 用記事本編寫Hello World程式並編譯程式 21
1.2.2 分析代碼格式 21
1.3 小結 22
2 Visual Studio 2008 開發工具概述 23
2.1 Visual Studio 簡介 23
2.1.1 支持.NET的Visual Studio 23
2.1.2 Visual Studio 2008和
Visual Studio 2005 24
2.1.3 簡化版本的開發工具——Visual Studio Express 25
2.2 Visual Studio 2008的安裝 25
2.2.1 Visual Studio 2008 IDE安裝 26
2.2.2 MSDN安裝 27
2.3 Visual Studio 2008 IDE界面概覽 27
2.3.1 進入Visual Studio 2008工作界面 28
2.3.2 選單欄 29
2.3.3 工具列 29
2.3.4 工具箱 30
2.3.5 屬性視窗 30
2.3.6 解決方案資源管理器 31
2.3.7 伺服器資源管理器 32
2.4 使用MSDN 32
2.4.1 進入MSDN 32
2.4.2 索引 33
2.4.3 搜尋 34
2.5 創建應用程式 35
2.5.1 控制台應用程式 35
2.5.2 Windows 應用程式 36
2.5.3 .NET 3.5網站 37
2.6 小結 38
3 變數、運算符和表達式 39
3.1 數據類型 39
3.1.1 值類型 39
3.1.2 引用類型 39
3.1.3 類型轉換 40
3.1.4 裝箱和拆箱 41
3.2 變數和常量 41
3.2.1 聲明和使用常量 42
3.2.2 聲明和使用變數 42
3.2.3 變數的作用域 43
3.3 運算符 43
3.3.1 算術運算符 44
3.3.2 字元串運算符和索引器 44
3.3.3 賦值運算符 45
3.3.4 邏輯運算符 45
3.3.5 位運算符 46
3.3.6 其他運算符 47
3.3.7 運算符的優先權 47
3.4 小結 47
4 程式的流程控制 48
4.1 流程控制 48
4.1.1 使用if語句實現分支 48
4.1.2 使用switch語句實現分支 50
4.1.3 使用while語句實現循環 51
4.1.4 使用for語句實現循環 52
4.1.5 使用break/continue控制循環 53
4.1.6 使用#define進行條件編譯 54
4.2 程式的結構 54
4.2.1 用類搭建程式 55
4.2.2 使用命名空間 56
4.2.3 尋找程式的入口 57
4.3 異常處理 57
4.4 小結 58
5 C# 2008語言特色 59
5.1 var匿名類型 59
5.2 擴展方法 60
5.3 Lambda表達式 60
5.4 對象和集合的匿名初始化 61
5.5 匿名數組 62
5.6 表達式樹 63
5.7 小結 63
第2篇 C#界面編程
6 與用戶互動 66
6.1 選單和工具列 66
6.2 滑鼠事件 68
6.3 鍵盤事件處理 69
6.4 通用對話框 69
6.5 編寫多文檔界面應用程式 71
6.6 進度條 73
6.7 PictureBox圖片框控制項 74
6.8 文本框控制項與按鈕控制項 76
6.9 Windows窗體及事件 76
6.10 複選框和單選按鈕 77
6.11 列表框 78
6.12 帶複選框的列表框 79
6.13 小結 81
第3篇 C#對象編程
7 類 84
7.1 定義類 84
7.1.1 聲明類 84
7.1.2 聲明類的靜態特徵 85
7.1.3 聲明類的動態行為 86
7.1.4 創建類實例 86
7.1.5 繼承類 87
7.2 VS..NET中的OOP工具 87
7.2.1 使用類視圖視窗 87
7.2.2 使用對象瀏覽器 88
7.3 屬性詳談 89
7.3.1 域和屬性 89
7.3.2 靜態屬性 90
7.3.3 重載屬性 91
7.4 方法詳談 92
7.4.1 方法的參數 92
7.4.2 使用構造函式 93
7.4.3 使用析構函式 93
7.4.4 使用靜態方法 94
7.4.5 重載方法 94
7.4.6 訪問父類方法 95
7.5 小結 96
8 抽象類、多態及接口 98
8.1 抽象類 98
8.1.1 什麼是抽象類 98
8.1.2 聲明抽象類 99
8.1.3 實現抽象方法 101
8.2 多態 102
8.2.1 什麼是多態 102
8.2.2 多態的實現 102
8.2.3 多態和重寫 104
8.3 接口 104
8.3.1 什麼是接口 104
8.3.2 聲明接口 105
8.3.3 實現接口 106
8.4 小結 111
第4篇 C#數據操作
9 字元串操作 114
9.1 靜態串String 114
9.1.1 比較字元串 114
9.1.2 定位字元和子串 117
9.1.3 格式化字元串 119
9.1.4 連線字元串 121
9.1.5 分裂字元串 121
9.1.6 插入和填充字元串 122
9.1.7 刪除和剪下字元串 123
9.1.8 複製字元串 124
9.1.9 替換字元串 125
9.1.10 更改大小寫 125
9.1.11 String小結 126
9.2 動態串StringBuilder 126
9.2.1 聲明StringBuilder串 126
9.2.2 設定StringBuilder容量 127
9.2.3 追加操作 127
9.2.4 插入操作 128
9.2.5 刪除操作 129
9.2.6 替換操作 129
9.2.7 與String比較 129
9.3 字元串編碼 130
9.3.1 字元編碼概述 130
9.3.2 使用字元編碼類 130
9.4 使用正則表達式 131
9.4.1 正則表達式簡介 131
9.4.2 使用Regex類 132
9.4.3 構造正則表達式 132
9.4.4 示例:驗證URL 133
9.5 小結 133
10 數組 134
10.1 數組簡介 134
10.1.1 數組的概念 134
10.1.2 多維數組 135
10.1.3 創建C#數組 136
10.2 使用數組 138
10.2.1 System.Array類 138
10.2.2 訪問數組元素 138
10.2.3 遍歷數組 138
10.2.4 同步數組 139
10.2.5 數組排序 141
10.2.6 查找數組 143
10.2.7 反轉數組 145
10.2.8 複製數組 146
10.2.9 動態創建數組 147
10.2.10 綜合示例 148
10.3 小結 157
11 集合與泛型 158
11.1 System.Collections命名空間 158
11.2 ArrayList數組集合類 158
11.2.1 創建列表 159
11.2.2 添加元素 160
11.2.3 插入元素 161
11.2.4 刪除元素 161
11.2.5 簡單排序 162
11.2.6 複雜排序 163
11.2.7 查找元素 165
11.2.8 遍歷列表 166
11.3 Queue佇列類 167
11.3.1 創建佇列 167
11.3.2 元素入隊 167
11.3.3 元素出隊 168
11.4 Stack堆疊類 169
11.4.1 創建堆疊 169
11.4.2 元素入棧 169
11.4.3 元素出棧 170
11.5 Hashtable和SortedList 171
11.5.1 Hashtable 171
11.5.2 構造普通哈希表 171
11.5.3 SortedList 173
11.5.4 搜尋排序哈希表 174
11.6 泛型簡介 175
11.6.1 什麼是泛型 175
11.6.2 一個泛型的示例 177
11.6.3 集合類的泛型版本 178
11.6.4 使用泛型的建議 179
11.7 小結 180
12 處理異常和錯誤 181
12.1 try/catch塊 181
12.2 finally塊 183
12.3 預定義異常的類 185
12.4 處理異常 188
12.4.1 處理多個異常 188
12.4.2 處理和傳遞異常 189
12.4.3 從異常中恢復 190
12.5 設計自己的異常 192
12.6 小結 193
13 檔案和輸入輸出 194
13.1 檔案 194
13.1.1 System..IO類介紹 194
13.1.2 檔案類File 195
13.1.3 資料夾類Directory 199
13.1.4 檔案信息類FileInfo 201
13.1.5 資料夾信息類DirectoryInfo 203
13.2 流 206
13.2.1 檔案流類FileStream 206
13.2.2 流寫入類StreamWriter 209
13.2.3 流讀取類StreamReader 211
13.2.4 二進制流寫入類BinaryWriter 212
13.2.5 二進制流讀取類BinaryReader 213
13.3 小結 213
第5篇 C#資料庫編程
14 ADO 3.5資料庫操作 216
14.1 ADO概述 216
14.1.1 微軟數據訪問技術 216
14.1.2 System.Data命名空間 217
14.2 連線資料庫 218
14.2.1 SqlConnection類 218
14.2.2 使用SqlConnectionStringBuilder構建連線字元串 219
14.2.3 關閉和釋放SQL Server連線 220
14.2.4 創建到SQL Server 2005 Express的連線 221
14.2.5 使用連線池 223
14.3 與資料庫互動 223
14.3.1 使用SqlCommand提交增、刪、改命令 224
14.3.2 使用SqlCommand獲取查詢命令 225
14.3.3 使用DataAdapter提交查詢命令 226
14.4 管理記憶體數據 228
14.4.1 了解數據集 228
14.4.2 使用DataTable實現記憶體表 229
14.4.3 使用DataSet管理數據 231
14.4.4 使用DataReader獲取唯讀數據 238
14.4.5 比較DataSet和DataReader 243
14.5 小結 243
15 XML編程 244
15.1 .NET框架中的XML 244
15.1.1 理解XML 244
15.1.2 XML文檔對象模型(DOM) 247
15.1.3 System.Xml命名空間 248
15.2 讀取XML文檔 250
15.2.1 使用XmlDocument讀取XML 250
15.2.2 使用XmlReader讀取XML 254
15.3 使用XPath檢索XML 257
15.3.1 基本XPath表達式 258
15.3.2 限定檢索範圍 259
15.3.3 使用函式設定檢索條件 259
15.3.4 使用運算符設定檢索條件 260
15.3.5 使用通配符模糊匹配 261
15.3.6 綜合示例 261
15.4 修改XML文檔 262
15.4.1 創建新DOM節點 263
15.4.2 為DOM節點創建屬性 264
15.4.3 修改DOM節點 265
15.5 與ADO集成 268
15.5.1 使用DataSet載入XML數據 268
15.5.2 使用XmlDataDocument載入關係數據 271
15.6 小結 273
第6篇 .NET 3.5框架新特色
16 .NET 3.5框架新組件 276
16.1 .NET 3.5框架整體概覽 276
16.1.1 .NET 3.5框架的組織結構 276
16.1.2 WPF創建新式Windows
應用程式 277
16.1.3 WCF遠程通信服務 277
16.1.4 WF輕鬆創建工作流 278
16.1.5 WCS身份標識驗證 279
16.2 用WF製作訂單狀態管理工作流 280
16.2.1 訂單狀態管理工作流框架預覽 280
16.2.2 創建訂單狀態管理工作流Windows服務 281
16.2.3 編譯工作流服務 283
16.2.4 創建狀態工作流 284
16.2.5 設定工作流的開始點和結束點 286
16.2.6 訂單狀態管理工作流的運行時引擎 288
16.3 使用WCF構建計算器服務模組 290
16.3.1 設計計算器服務契約 290
16.3.2 實現計算器服務契約 291
16.3.3 配置並發布計算器服務 292
16.3.4 配置WCF計算器服務的ABC 293
16.3.5 創建計算器的客戶端代理服務 294
16.3.6 調用WCF計算器服務 295
16.4 小結 297
第7篇 C#網路編程
17 .net 3.5開發基礎 300
17.1 什麼是.net 3.5 300
17.1.1 .net 3.5 概述 300
17.1.2 使用VS 2008創建.net應用程式 301
17.1.3 .net檔案類型和目錄結構 304
17.1.4 .net控制項簡介 305
17.2 .net伺服器控制項 307
17.2.1 標準伺服器控制項 307
17.2.2 驗證控制項 310
17.2.3 母版頁 313
17.2.4 導航控制項 317
17.2.5 外觀和主題 325
17.2.6 登錄控制項 328
17.2.7 Web Part編程 337
17.3 .net 3.5應用程式狀態管理 341
17.3.1 應用程式狀態管理簡介 341
17.3.2 .net視圖狀態(View State) 342
17.3.3 .net控制項狀態(Control State) 344
17.3.4 全局應用程式設定 347
17.3.5 全局快取對象 349
17.3.6 會話級應用程式設定 350
17.3.7 使用Cookies 350
17.4 小結 351
18 .NET 3.5資料庫開發 352
18.1 一個資料庫驅動的網站示例 352
18.1.1 顯示訂單列表 352
18.1.2 訂單詳細信息 358
18.1.3 訂單明細頁面 361
18.2 數據源控制項 363
18.2.1 數據源控制項簡介 363
18.2.2 使用SqlDataSource控制項 366
18.2.3 使用ObjectDataSource控制項 374
18.2.4 使用LinqDataSource控制項 377
18.2.5 LINQ查詢語法 380
18.3 數據綁定控制項 381
18.3.1 什麼是數據綁定技術 381
18.3.2 列表控制項 387
18.3.3 GridView控制項 391
18.3.4 DetailsView控制項 404
18.3.5 FormView控制項 411
18.3.6 Repeater控制項 413
18.3.7 DataList控制項 414
18.3.8 ListView控制項和DataPager控制項 418
18.4 小結 421
19 應用程式部署 422
19.1 Windows Installer介紹 423
19.2 部署工程的建立 424
19.2.1 使用VS 2008安裝精靈 424
19.2.2 手動創建安裝程式 426
19.3 使用安裝項目編輯器 430
19.3.1 檔案系統編輯器 430
19.3.2 註冊表編輯器 430
19.3.3 檔案類型編輯器 431
19.3.4 用戶界面編輯器 433
19.3.5 自定義操作編輯器 435
19.3.6 啟動條件編輯器 436
19.4 部署項目屬性介紹 438
19.5 小結 440
第8篇 C#項目實戰
20 線上考試系統 442
20.1 線上考試系統功能預覽 442
20.2 資料庫設計 443
20.2.1 資料庫中各表結構 444
20.2.2 創建網站並映射表實體 446
20.3 整體布局設計 447
20.3.1 管理員用戶控制項 447
20.3.2 三層結構設計 449
20.4 考試科目 450
20.4.1 添加考試科目 450
20.4.2 維護考試科目 452
20.5 試題管理 457
20.5.1 添加單選題 457
20.5.2 維護單選題 461
20.5.3 添加復選題 465
20.5.4 維護復選題 469
20.5.5 添加填空題 472
20.5.6 維護填空題 475
20.5.7 添加判斷題 478
20.5.8 維護判斷題 481
20.6 試卷管理 484
20.6.1 制定試卷分數 484
20.6.2 維護試卷 489
20.7 用戶管理 492
20.7.1 添加用戶 492
20.7.2 維護用戶 494
20.8 用戶考試 497
20.8.1 用戶登錄 497
20.8.2 隨機試卷 500
20.8.3 試卷答案 503
20.8.4 維護用戶成績 503
20.9 小結 505
21 小型企業網站管理系統 506
21.1 小型企業網站管理系統概述 506
21.1.1 小型企業網站管理系統簡介 506
21.1.2 小型企業網站管理系統的安裝 507
21.2 頁面布局 508
21.2.1 MasterPage母版頁 509
21.2.2 Web.sitemap導航地圖 510
21.3 數據層 511
21.3.1 XML數據源 511
21.3.2 SQL Server數據源 512
21.3.3 數據層處理類的提供者Provider 513
21.3.4 資料庫映射對象 515
21.4 業務處理層 515
21.5 目錄管理 515
21.6 人員管理 517
21.7 新聞管理 519