C#編程入門與應用

C#編程入門與應用

作者: 李鑫 祝惠娟
出版社: 清華大學
出版在: 2017-09-01
ISBN-13: 9787302478393
ISBN-10: 7302478392
裝訂格式: 平裝
總頁數: 528 頁




內容描述


C#是微軟公司發布的一種面向對象的、運行於.NET Framework之上的不錯程序設計語言。優選每天有超過百萬的開發者正在用C#進行著各式各樣程序的開發,它是目前使用很廣泛的電腦語言之一。C#是一種安全的、穩定的、簡單的、優雅的、由C和C++衍生出來的面向對象的編程語言。C#綜合了Visual Basic簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優雅的語法風格、創新的語言特性和便捷的面向組件編程的支持,成為.NET開發的優選語言。

盡管C#很好很好,但是對於靠前次接觸編程的人來說並不容易學。萬事開頭難,本書總結了作者多年的教學成果,將為讀者打開一扇通往C#世界的大門,讓讀者少走彎路,快速入門,打好堅實的基礎。

本書共分為19章。靠前~18章的主要內容包括:C#語言的發展、特點、運行環境、運算符與表達式、數據類型、變量、常量、註釋、流程控制語句、選擇語句、循環語句、跳轉語句、數組和排序、內置集合、自定義集合、面向對象編程、枚舉、結構、接口、類的封裝、繼承和多態特性、異常處理、程序調試、泛型、委托、事件、Windows窗體程序、窗體控件、MDI窗體程序、菜單控件、ADO.NET對象、數據表格控件、數據流、文件輸入以及文件輸出;靠前9章結合使用Visual Studio 2015和SQL Server 2012,開發一個簡單的汽車租賃系統。

本書可以作為高等院校電腦相關專業C#語言程序設計課程的教材,也可以作為C#程序設計的培訓教材,還可以作為自學者的參考書。


目錄大綱


目錄
第1章C#入門概述
1.1 C#語言概述. 2 
1.1.1什麼是C#語言... 2 
1.1.2 C#的發展歷史.... 2 
1.1.3 C#的優勢分析.... 2 
1.1. 4如何學好C#語言.... 3 
1.2 C#環境——.NET框架... 4 
1.2.1什麼是.NET框架.... 4 
1.2.2 .NET框架的組件4 
1.2.3 .NET框架的版本5 
1.2.4 .NET框架的體系結構.. 6 
1.3 C#開發——Visual Studio 2015 7 
1.3.1什麼是Visual Studio 7 
1.3.2 Visual Studio的發展歷程.. 8 
1.3.3 Visual Studio 2015的新功能.. 8 
1.4高手帶你做——安裝VS 2015 .... 10 
1.5高手帶你做——創建第一個
控制台程序14 
1.6認識C#程序結構16 
1.6.1 C#程序結構組成.. . 16 
1.6.2創建和執行C#程序... 17 
1.7高手帶你做——通過記事本創建
應用程序.... 17
1.8高手帶你做——創建Windows 
窗體應用程序. 19 
1.9成長任務.... 21 
第2章C#基礎語法
2.1認識C#語法... 24 
2.2 using關鍵字.... 25 
2.2.1 using指令25 
2.2.2常見的命名空間.... 26 
2.2.3 using語句27 
2.2.4高手帶你做——using語句的
詳細使用.. 28 
2.3 namespace關鍵字29 
2.3.1定義命名空間.. . 30 
2.3.2嵌套命名空間... 30 
2.3.3高手帶你做——為自定義命名
空間指定別名.... 31 
2.4 class關鍵字32 
2.5 Main()方法32 
2.6 Console類.. 33 
2.6.1輸出內容到控制台33 
2.6.2從控制台輸入內容34 
2.6.3 Console類的其他方法.... 34 
2.7 C#語言註釋.... 35 
2.7.1單行註釋. 35 
2.7. 2多行註釋. 36 
2.7.3文檔註釋. 36 
2.8 C#關鍵字... 37
2.8.1保留關鍵字.. 37 
2.8.2上下文關鍵字... 38 
2.9 C#預處理器指令. 38 
2.9.1 C#預處理器指令列表38 
2.9.2 #define指令.. 39 
2.9.3條件指令. 40 
2.9.4 #region指令. 41 
2.10高手帶你做——根據輸入內容
返回結果... 42 
2.11成長任務... 44 
第3章變量、常量與數據類型
3.1變量.. 46 
3.1. 1聲明變量. 46 
3.1.2變量賦值. 47 
3.1.3變量類型. 47 
3.2常量.. 50 
3.2.1常量概述. 50 
3.2.2定義常量. 51 
3.3.數據類型... 53 
3.3.1數據類型分類... 53 
3.3.2基本數據類型... 54 
3.3.3枚舉和結構類型.... 57 
3.4數據類型轉換. 57 
3.4.1隱式轉換. 58 
3.4.2顯式轉換. 60 
3.5高手帶你做——Convert類實現
類型轉換.... 62 
3.6成長任務.... 64
第4章運算符和表達式
4.1基礎運算符66 
4.1.1算術運算符.. 66 
4.1.2關係運算符.. 67 
4.1.3邏輯運算符.. 68 
4.1.4賦值運算符.. 69 
4.1 .5位運算符. 71 
4.2高級運算符73 
4.2.1自增運算符.. 74 
4.2.2自減運算符.. 74 
4.2.3雜項運算符.. 76 
4.3高手帶你做——認識並使用
三元運算符77 
4.4運算符的優先級.. 77 
4.5表達式... 79 
4.6成長任務.... 80 
第5章流程控制語句
5.1語句概述.... 82 
5.1.1語句類型. 82 
5.1.2空語句83 
5.2 if選擇語句. 83 
5.2.1簡單if語句.. 83 
5.2.2 if else語句.. 85 
5.2.3 if else if else語句.. 86 
5.2.4嵌套if語句. . 87 
5.3高手帶你做——根據輸入的年齡
判斷信息.... 89 
5.4 switch選擇語句... 90
5.4.1 switch語句... 90 
5.4.2嵌套switch語句.... 92 
5.4.3 switch語句與if語句的區別.... 94 
5.5循環語句.... 95 
5.5.1 while語句. ... 95 
5.5.2 do while語句.... 97 
5.5.3 for語句.... 99 
5.5.4 foreach語句.... 102 
5.6高手帶你做——循環打印點陣圖形... . 104 
5.7跳轉語句.. 106 
5.7.1 return語句.. 106 
5.7.2 break語句.. 107 
5.7.3 continue語句... 108 
5.7.4 goto語句.... 109 
5.8成長任務.. 111 
第6章字符串與正則表達式
6.1認識String類114 
6.1.1創建String對象... 114 
6.1.2 null字符串和空字符串. 115 
6.1.3 String類的屬性.... 116 
6.2字符串的基本操作. 116 
6.2.1連接字符串116 
6.2.2轉換大小寫119 
6.2.3去除空格.... 120
6.2.4提取字符串120 
6.2.5分割字符串121 
6.3字符串的高級操作. 122 
6.3.1替換字符串122 
6.3.2比較字符串123 
6.3.3定位字符串124 
6.3.4格式化字符串. 126 
6.4高手帶你做——驗證指定的
文件和郵箱... 126 
6.5 StringBuilder類操作字符串.. 128 
6.5.1創建StringBuilder對象. 128 
6.5.2 StringBuilder類的屬性.. 128 
6.5.3追加字符串130 
6.5.4插入字符串131 
6.5.5替換字符串132 
6.5.6刪除字符串132 
6.6高手帶你做——字符串加密和
解密操作.. 133 
6.7正則表達式... 136 
6.7. 1正則元字符136 
6.7.2正則限定符137 
6.7.3正則表達式Regex類.... 138 
6.7.4高手帶你做——將人民幣
金額轉換為大寫漢字142 
6.8成長任務.. 143 
第7章數值處理和日期處理
7.1數值處理——Math類. 146 
7.1.1靜態常量.... 146 
7.1.2求最值... 146 
7.1.3求絕對值.... 146 
7.1.4求整數值.... 147 
7.1.5求三角函數148 
7.1.6 Math的其他方法. 149 
7.2偽隨機數——Random類. 149 
7.2.1初始化隨機數生成器.... 149 
7.2.2生成隨機數150 
7.2.3高手帶你做——求隨機數的
平均值和方差.. 151 
7.3日期處理——DateTime結構153 
7.3.1靜態字段.... 153 
7.3.2靜態屬性.... 153 
7.3.3實例屬性.... 154 
7.3.4靜態方法.... 155 
7.3.5實例方法.... 156 
7.3.6 ToString()方法格式化日期159 
7.4日期處理——TimeSpan結構.... 160 
7.4. 1靜態字段.... 160 
7.4.2靜態常量.... 161 
7.4.3實例屬性.... 162 
7.4.4實例方法.... 163 
7.4.5高手帶你做——基於TimeSpan
實現倒計時效果... 165 
7.5高手帶你做——根據年月輸出日曆.... 166 
7.6成長任務.. 167 
第8章數組
8.1數組概述.. 170 
8.2一維數組.. 170 
8.2.1聲明數組.... 170 
8.2.2分配空間.... 171 
8.2.3初始化數組171 
8.2.4獲取單個元素. 172 
8.2.5獲取全部元素. 173 
8.3二維數組.. 174 
8.3.1聲明數組.... 174 
8.3.2初始化數組175 
8.3.3獲取單個元素. 175 
8.3.4獲取全部元素. 176 
8.4高手帶你做——二維數組如何
實現矩陣乘法.... 177 
8.5多維數組.. 179 
8.5.1三維數組.... 179 
8.5.2交錯數組.... 180 
8.6數組處理類... 181 
8.6.1 Array類. 182 
8.6.2 ArrayList類183 
8.7數組的基礎操作185 
8.7.1添加元素.... 185 
8.7.2複製元素.... 186
8.7.3反轉元素.... 188 
8.7.4移除元素.... 190 
8.7.5清除元素.... 191 
8.8數組排序.. 192 
8.8.1內置排序法192 
8.8.2冒泡排序法192 
8.8.3快速排序法194 
8.8.4選擇排序法195 
8.8.5插入排序算法. 196 
8.9高手帶你做——商品信息查詢功能.... 197 
8.10成長任務199 
第9章內置集合和自定義集合
9.1集合概述.. 202 
9.2 Hashtable集合... 203 
9.2.1 Hashtable的常用屬性... 203 
9.2.2 Hashtable的常用方法... 203 
9.2.3 Hashtable的基本操作... 203 
9.3 SortedList集合... 206 
9.3.1 SortedList集合類的常用屬性. 207 
9.3.2 SortedList集合的常用方法207 
9.3.3 SortedList基本操作.. 208 
9.4 Stack集合212 
9.4.1 Stack的常用方法212 
9.4. 2 Stack的基本操作212
9.5 Queue集合.... 214 
9.5.1 Queue的常用方法.... 214 
9.5.2 Queue的基本操作.... 214 
9.6 BitArray集合216 
9.7高手帶你做——用戶自定義
集合操作數據. ... 217 
9.8成長任務.. 220 
第10章類和對象
10.1面向對象編程.. 222 
10.1.1什麼是面向對象. 222 
10.1.2類和對象... 222 
10.2認識類.... 223 
10.2.1類的聲明... 223 
10.2.2 System.Object類224 
10.3類的函數224 
10.3.1構造函數... 225 
10.3.2析構函數... 226 
10.4類的成員227 
10.4.1字段和常量.... 227 
10.4.2定義屬性... 228 
10.4.3定義方法... 230 
10.4.4方法分類... 231 
10.4.5方法重載... 232 
10.4.6 Main( )方法... 234 
10.5聲明和使用對象... 234 
10.6 this關鍵字... 235
10.6.1引用類的當前實例.. 235 
10.6.2調用其他的構造函數... 236 
10.6.3聲明索引器.... 236 
10.7高手帶你做——字符串反轉及
字符出現次數. .. 237 
10.8高手帶你做——根據用戶選擇
打印圖形. 238 
10.9高手帶你做——在類中嵌套
內部類241 
10.10成長任務... 242 
第11章類的面向對象編程
11.1封裝性244 
11.1.1封裝的概念.... 244 
11.1.2如何實現封裝244 
11.1.3字段和屬性的區別.. 246 
11.2繼承性246 
11.2.1繼承的概念.... 247 
11.2.2如何實現繼承247 
11.2.3繼承的缺點.... 249 
11.3多態性249 
11.3.1多態的概念.... 249 
11.3.2編譯時多態.... 250 
11.3.3運行時多態. ... 251 
11.3.4重載和重寫的區別.. 253 
11.4抽像類254 
11.4.1抽像類的概念254 
11.4.2抽象方法的概念. 254
11.4.3實現抽像類和抽象方法.... 255 
11.4.4高手帶你做——實現從基類
中繼承的抽象屬性.. 256 
11.5密封類257 
11.5.1密封類的概念257 
11.5.2密封方法的概念. 258 
11.5.3實現密封類和密封方法.... 259 
11.6類的常用關鍵字.... 260 
11.6.1 base關鍵字... 260 
11.6.2 virtual關鍵字261 
11.6. 3 ref關鍵字. 262 
11.6.4 out關鍵字264 
11.7高手帶你做——簡單計算器的
完整實現. 265 
11.8成長任務. 269 
第12章枚舉、結構和接口
12.1枚舉... 272 
12.1.1枚舉概述... 272 
12.1.2定義枚舉... 272 
12.1.3使用枚舉... 274 
12.1.4枚舉類型強制轉換.. 275 
12.1.5 Enum類操作枚舉... 275 
12.2高手帶你做——獲取枚舉成員
對應的中文名稱.... 278 
12.3結構... 280 
12.3.1結構概述... 280
12.3.2定義結構... 281 
12.3.3使用結構... 281 
12.3.4結構和類的異同點.. 282 
12.4接口... 283 
12.4.1接口概述... 283 
12.4.2聲明接口... 284 
12.4.3接口成員... 285 
12.4.4實現接口... 286 
12.4.5接口和抽像類的區別... 288 
12.5高手帶你做——類顯式實現接口. 288 
12.6內置接口290 
12.6.1 IComparable接口.... 290 
12.6.2 IComparer接口.. 291 
12.7成長任務294 
第13章C#語言高級編程
13.1異常處理296 
13.1.1異常處理概述296 
13.1.2異常處理語句296 
13.2高手帶你做——Exception類獲取
異常信息. 300 
13.3程序調試301 
13.3.1程序調試概述302 
13.3.2程序調試操作302 
13.4泛型... 304 
13.4.1泛型概述... 304 
13.4 .2泛型類.. 304
13.4.3泛型方法... 305 
13.4.4泛型委託... 306 
13.4.5泛型集合... 307 
13.5高手帶你做——泛型參數的約束. 309 
13.6委託和事件. 310 
13.6.1委託. 310 
13.6.2事件. 312 
13.7成長任務316 
第14章Windows窗體基礎控件
14.1 Windows窗體應用程序. 318 
14.1.1創建Windows窗體應用程序.... 318 
14.1.2 Windows窗體概述. 319 
14.1.3 Windows窗體屬性. 321 
14.1.4 Windows窗體事件. 323 
14.1.5 Windows窗體控件概述... 325 
14.2基本控件325 
14.2.1 Label控件325 
14.2.2 LinkLabel控件... 327 
14.2.3 TextBox控件. 329 
14.2.4 RichTextBox控件... 331 
14.2.5 MaskedTextBox控件... 333 
14.3按鈕控件334 
14.3.1 Button控件.... 334
14.3.2 RadioButton控件.... 336 
14.3.3 CheckBox控件... 337 
14.4列表控件339 
14.4.1 ListBox控件.. 339 
14.4.2 ComboBox控件. 340 
14.4.3 ListView控件342 
14.4.4 CheckedListBox控件. .. 344 
14.5容器控件346 
14.5.1 Panel控件. 346 
14.5.2 GroupBox控件... 347 
14.5.3 TabControl控件. 348 
14.6圖像控件349 
14.6.1 PictureBox控件.. 349 
14.6.2 ImageList組件... 350 
14.7 Windows其他控件.... 351 
14.7.1 Timer組件352 
14.7.2 NotifyIcon控件.. 352 
14.7.3 DomainUpDown控件.. 353 
14.7.4 NumericUpDown控件. 354 
14.7.5 MonthCalendar控件.... 354 
14.8高手帶你做——模擬在線
購物程序. 356 
14.9成長任務362
第15章構建MDI窗體應用程序
15.1 MDI窗體應用程序.... 364 
15.1.1什麼是MDI窗體.... 364 
15.1.2創建MDI父窗體.... 364 
15.1.3設置MDI子窗體.... 366 
15.1.4子窗體訪問父窗體成員.... 367 
15.2 MDI窗體控件.. 369 
15.2.1 MenuStrip控件.. 369 
15.2.2 ContextMenuStrip控件372 
15.2.3 ToolStrip控件.... 374 
15.2.4 StatusStrip控件.. 376 
15.3高手帶你做——排列MDI子窗體.... 377 
15.4常用對話框. 379 
15.4.1標準對話框.... 379 
15.4 .2字體對話框.... 383 
15.4.3顏色對話框.... 384 
15.4.4瀏覽目錄對話框. 385 
15.4.5打開和保存文件對話框.... 386 
15.5高手帶你做— —簡易圖片格式
轉換器388 
15.6成長任務389 
第16章ADO.NET技術訪問數據庫
16.1 ADO.NET和數據庫.. 392
16.1.1 ADO.NET概述.. 392 
16.1.2數據庫概述.... 393 
16.2連接數據庫. 394 
16.2.1 SqlConnection簡述. 394 
16.2.2打開數據庫連接. 395 
16.2.3關閉數據庫連接. 397 
16.3執行SQL語句. 397 
16.3.1 SqlCommand簡述... 397 
16.3.2獲取數據總記錄. 399 
16.3.3讀取數據... 400 
16.3.4刪除數據... 401 
16.4讀取數據402 
16.4. 1 SqlDataReader對像簡述.. 402 
16.4.2判斷查詢結果中是否有值403 
16.4.3獲取數據列的值. 403 
16.5數據適配器——SqlDataAdapter 
對象.... 406 
16.6數據集.... 407 
16.6 .1 DataSet對像簡述.... 407 
16.6.2合併DataSet內容... 408 
16.6.3複製DataSet內容... 410 
16.7其他常見對象.. 411 
16.7.1 DataTable對象... 411 
16.7.2 DataView對象.... 415
16.8高手帶你做——ListView控件
加載和刪除圖書信息. 417 
16.9成長任務420 
第17章Windows表格數據控件
17.1了解DataGridView控件422 
17.1.1 DataGridView控件概述... 422 
17.1.2 DataGridView的結構.. 423 
17.1.3 DataGridView的常用屬性.... 423 
17.1.4 DataGridView的常用事件.... 425 
17.2 DataGridView控件的操作.. 425 
17.2.1數據顯示... 426 
17.2.2獲取單元格.. .. 428 
17.2.3修改數據... 429 
17.2.4刪除數據... 430 
17.2.5設置選中行的顏色.. 432 
17.2.6禁止添加和刪除行.. 433 
17.3高手帶你做——為DataGridView 
控件手動添加數據434 
17.4了解TreeView控件... 436 
17.4.1 TreeView控件概述. 436 
17.4.2 TreeView的常用屬性.. 437 
17.4.3 TreeView的方法和事件... 438
17.5 TreeView控件的操作439 
17.5.1添加節點... 439 
17.5.2移除節點... 440 
17.5.3清空節點... 441 
17.5.4獲取選中節點441 
17.5.5為節點設置圖標. 442 
17.6高手帶你做——利用TreeView 
控件瀏覽圖像... 443 
17.7成長任務445 
第18章數據流和文件的輸入/輸出
18.1數據流.... 448 
18.1.1流操作類的介紹. 448 
18.1 .2 FileStream文件流類.... 448 
18.1.3寫入和讀取文本文件... 450 
18.1.4寫入和讀取二進製文件.... 453 
18.2 System.IO命名空間.. 456 
18.2 .1 File類.. 456 
18.2.2 Directory類... 458 
18.2.3 FileInfo類. 459 
18.2.4 DirectoryInfo類.. 460 
18.3文件的基本操作... 461 
18.3.1判斷文件是否存在.. 461 
18.3.2獲取文件信息462 
18.3.3創建文件... 463
18.3.4複製文件... 464 
18.3.5移動文件... 465 
18.3.6刪除文件... 466 
18.4文件夾的基本操作.... 467 
18.4.1判斷文件夾是否存在... 467 
18.4.2獲取文件夾信息. 468 
18.4.3遍歷文件夾.... 468 
18.4.4創建文件夾.... 470 
18.4.5移動文件夾.... 472 
18.4.6刪除文件夾.. .. 473 
18.5高手帶你做——實現Windows 
資源管理器.. 474 
18.6成長任務479 
第19章三層架構實現汽車租賃系統
19.1了解汽車租賃系統.... 482 
19.1.1開發背景... 482 
19.1.2功能介紹... 482 
19.1.3可行性分析.... 482 
19.1.4需求分析... 483 
19.2數據庫設計. 483 
19.2.1數據庫概述.... 483 
19.2.2設計數據表.... 484 
19.3了解三層架構.. 485 
19.3.1三層架構概述485 
19.3.2實體層概述.... 486 
19.3.3三層架構的優缺點.. 486
19.4搭建系統框架.. 487 
19.4.1搭建三層項目487 
19.4.2項目引用... 488 
19.4.3設置項目啟動項. 490 
19.4.4向三層框架中添加內容.... 490 
19.5 SQLHelper類詳解495 
19.5.1 SQLHelper是什麼.. 495 
19.5.2為SQLHelper類添加內容.... 496 
19.6用戶界面設計與實現498 
19.6.1登錄窗體... 498 
19.6.2註冊窗體.. . 499 
19.6.3查看和修改用戶信息... 500 
19.6.4查找租車信息502 
19.6.5汽車租賃... 504 
19.6.6操作租車記錄506 
19.6.7汽車出租... 509 
19.6.8打印信息... 510 
19.6.9退出系統... 511


作者介紹


李鑫,具有多年.Net項目開發經驗,深入掌握.NET框架技術,熟練開發Asp.net與WinForm項目,精通C#、ASP 、C++、VB語言,熟練使用MTS、COM+、Web Service分佈式架構。
祝惠娟,3年的開發經驗。曾任某軟件公司的不錯開發工程師,參與軟件後台服務等項目的設計與開發。對C、C++、VB.NET、SQL Server、C#、XML等多種環境開發和運用,有深刻的理解。




相關書籍

Tomcat: The Definitive Guide, 2/e (Paperback)

作者 Jason Brittain Ian F. Darwin

2017-09-01

ASP.NET Web應用系統項目開發(C#) - 馬華林等

作者 馬華林等

2017-09-01

Visual Basic.NET 程式開發 設計寶典 (舊名: Visual Basic.NET 2017 物件/ 函數物件/元件模組開發寶典)

作者 孫惠民

2017-09-01