C#程式設計經典300例

C#程式設計經典300例

C#程式設計經典300例的每個實例不但有知識點的講解,而且還將這些知識靈活運用,最關鍵的是,根據筆者多年的編程經驗,還在實例中穿插了大量的編程技巧。

C#程式設計經典300例既適用於C#初學者對基礎知識的學習,也可以幫助中高級讀者進一步提高C#編程水平。

基本介紹

  • 書名:C#程式設計經典300例
  • 作者:王騫 陳宇 管馬舟編著
  • ISBN:978-7-121-20465-4
  • 頁數:492
  • 定價:69
  • 出版社:電子工業出版社
  • 出版時間:2013年8月
  • 裝幀:平裝
  • 開本:16開
  • 系列:百鍊成鋼
書本介紹,書本目錄,第一篇 基礎篇,第二篇 窗體篇,第三篇 套用篇,第四篇 新技術篇,作者簡介,前言,本書特點,本書慨括,本書約定,書籍讀者,

書本介紹

C#程式設計經典300例
內容提要
C#是構建在.NET 框架上的一種面向對象的程式語言。其語法簡潔,類型安全,具有與其他語言良好的兼容性,以及完善的錯誤處理機制。
C#程式設計經典300例分4 篇共29 章,一共包含了300 個例子,主要介紹C#編程中幾種常用應用程式的創建方法、基本語法、面向對象的基礎知識、程式中常用的數據結構與算法、項目開發中常用的設計模式、Windows窗體編程、多執行緒的使用、檔案系統的管理、註冊表技術運用、資料庫的開發、Office 的訪問、GDI+繪圖技術、自定義控制項、Vista 的Aero 磨砂玻璃特效、圖像處理的常用算法、WPF 技術、網路通信技術、多進程編程、C/C++程式調用、系統管理以及LINQ 和並行處理等技術。
本書的每個實例不但有知識點的講解,而且還將這些知識靈活運用,最關鍵的是,根據筆者多年的編程經驗,還在實例中穿插了大量的編程技巧。
本書既適用於C#初學者對基礎知識的學習,也可以幫助中高級讀者進一步提高C#編程水平。

書本目錄

第一篇 基礎篇

第1章 開發環境1
實例001 創建控制台應用程式 1
難度指數★★☆☆☆☆ 占用時間 ○○
實例002 創建Windows窗體應用程式4
難度指數★★☆☆☆☆ 占用時間 ○○
實例003 創建DLL動態程式庫 6
難度指數★★☆☆☆☆ 占用時間 ○○
第2章 語法基礎10
實例004 從控制台輸出整數類型——整數類型 10
難度指數★★☆☆☆☆ 占用時間 ○○
實例005 從控制台輸出浮點類型——浮點類型 11
難度指數★★☆☆☆☆ 占用時間 ○○
實例006 判斷矩形是否為正方形——結構體和布爾型 12
難度指數★★☆☆☆☆ 占用時間 ○○
實例007 利用枚舉型描述動物類型——枚舉類型 13
難度指數★★☆☆☆☆ 占用時間 ○○
實例008 修改圓柱體的高度和底面半徑——引用類型 14
難度指數★★☆☆☆☆ 占用時間 ○○
實例009 計算圓形的面積——常量 16
難度指數★★☆☆☆☆ 占用時間 ○○
實例010 計算矩形的面積——變數 17
難度指數★★☆☆☆☆ 占用時間 ○○
實例011 實現簡單計算器——算術運算符 18
難度指數★★☆☆☆☆ 占用時間 ○○
實例012 輸出兩個數之間的關係——關係運算符 20
難度指數★★☆☆☆☆ 占用時間 ○○
實例013 按位元組提取整型數值——按位運算符 21
難度指數★★☆☆☆☆ 占用時間 ○○
實例014 對學生成績進行分類——條件運算符 22
難度指數★★☆☆☆☆ 占用時間 ○○
實例015 求三個數中的最大值——三元運算符 22
難度指數★★☆☆☆☆ 占用時間 ○○
實例016 將兩個數的值交換——函式的使用及引用傳遞 23
難度指數★★☆☆☆☆ 占用時間 ○○
實例017 求解正整數的階乘——函式的遞歸調用及值傳遞 24
難度指數★★☆☆☆☆ 占用時間 ○○
實例018 求解多個數的乘法運算——函式參數輸出 25
難度指數★★☆☆☆☆ 占用時間 ○○
第3章 程式流程27
實例019 模擬超市商品打折——if條件判斷語句 27
難度指數★★☆☆☆☆ 占用時間 ○○
實例020 判斷字元串各字元類型——if-else條件判斷語句 28
難度指數★★☆☆☆☆ 占用時間 ○○
實例021 將三個數從小到大輸出——if-else嵌套使用 29
難度指數★★☆☆☆☆ 占用時間 ○○
實例022 輸出酒店指定星期特價菜——switch選擇語句 30
難度指數★★☆☆☆☆ 占用時間 ○○
實例023 判斷1到10之間的素數和合數——多個case語句 32
難度指數★★☆☆☆☆ 占用時間 ○○
實例024 輸出1到20之間的整數——while循環語句 33
難度指數★★☆☆☆☆ 占用時間 ○○
實例025 輸出1到20之間的偶數——do-while循環語句 33
難度指數★★☆☆☆☆ 占用時間 ○○
實例026 求表達式12+34+…100的值——for循環語句 34
難度指數★★☆☆☆☆ 占用時間 ○○
實例027 用符號*排列成三角形——for循環嵌套調用 35
難度指數★★☆☆☆☆ 占用時間 ○○
實例028 百錢買百雞算法——for循環嵌套調用 36
難度指數★★☆☆☆☆ 占用時間 ○○
實例029 輸出字元串中的每個字元——foreach循環語句37
難度指數★★☆☆☆☆ 占用時間 ○○
實例030 輸入數據不規範時捕獲異常——異常處理語句 38
難度指數★★☆☆☆☆ 占用時間 ○○
第4章 數組與集合40
實例031 存儲多個學生姓名——一維數組 40
難度指數★★☆☆☆☆ 占用時間 ○○
實例032 生成學生成績單——創建二維數組 41
難度指數★★☆☆☆☆ 占用時間 ○○
實例033 求學生總成績——讀取二維數組 42
難度指數★★☆☆☆☆ 占用時間 ○○
實例034 計算兩個矩陣乘法——二維數組運算 43
難度指數★★☆☆☆☆ 占用時間 ○○
實例035 按月存儲日期——交錯數組 44
難度指數★★☆☆☆☆ 占用時間 ○○
實例036 生成學生信息表——ArrayList的使用 46
難度指數★★☆☆☆☆ 占用時間 ○○
實例037 管理學生信息——List的使用 47
難度指數★★☆☆☆☆ 占用時間 ○○
實例038 生成省市信息表——Dictionary的使用 48
難度指數★★☆☆☆☆ 占用時間 ○○
實例039 簡單的列車售票系統——二維數組的套用 50
難度指數★★☆☆☆☆ 占用時間 ○○
實例040 模擬舞伴配對問題——Queue的使用 51
難度指數★★☆☆☆☆ 占用時間 ○○
實例041 括弧匹配檢測——Stack的使用 53
難度指數★★☆☆☆☆ 占用時間 ○○
第5章 字元串55
實例042 將古詩分行輸出——System.Char類型 55
難度指數★★☆☆☆☆ 占用時間 ○○
實例043 判斷古詩默寫是否正確——Equals方法 56
難度指數★★☆☆☆☆ 占用時間 ○○
實例044 將古詩顛倒輸出——Reverse方法 57
難度指數★★☆☆☆☆ 占用時間 ○○
實例045 提取古詩中的關鍵字語——Substring方法 58
難度指數★★☆☆☆☆ 占用時間 ○○
實例046 將數字按指定格式輸出——格式化字元串 59
難度指數★★☆☆☆☆ 占用時間 ○○
實例047 將日期按指定格式輸出——格式化日期 60
難度指數★★☆☆☆☆ 占用時間 ○○
實例048 將古詩按標點分割成句——Split方法 61
難度指數★★☆☆☆☆ 占用時間 ○○
實例049 古詩填空——Insert方法 62
難度指數★★☆☆☆☆ 占用時間 ○○
實例050 修改錯誤的古詩——Remove方法 63
難度指數★★☆☆☆☆ 占用時間 ○○
實例051 拼接錯亂的古詩句——StringBuilder的 使用 64
難度指數★★☆☆☆☆ 占用時間 ○○
實例052 驗證IP位址字元串格式——Regex正則表達式 66
難度指數★★☆☆☆☆ 占用時間 ○○
實例053 提取古詩中含有“明月”的詩句——Contains方法 67
難度指數★★☆☆☆☆ 占用時間 ○○
實例054 對古詩進行Base64編碼——Base64編碼 67
難度指數★★☆☆☆☆ 占用時間 ○○
第6章 數據結構與算法69
實例055 將學生信息表順序倒置——順序線性表 69
難度指數★★☆☆☆☆ 占用時間 ○○
實例056 將兩個學生信息表交叉合併——單鍊表 71
難度指數★★☆☆☆☆ 占用時間 ○○
實例057 將十進制數轉換為八進制數——鏈棧 73
難度指數★★☆☆☆☆ 占用時間 ○○
實例058 判斷一個字元串是否為回文——鏈佇列 74
難度指數★★☆☆☆☆ 占用時間 ○○
實例059 將學生信息存儲到二叉樹中——二叉樹 77
難度指數★★☆☆☆☆ 占用時間 ○○
實例060 遍歷城市網——圖 79
難度指數★★☆☆☆☆ 占用時間 ○○
實例061 對學生表的前10位學生成績排序——直接插入排序 81
難度指數★★☆☆☆☆ 占用時間 ○○
實例062 將學生按成績進行希爾排序——希爾排序 83
難度指數★★☆☆☆☆ 占用時間 ○○
實例063 求學生成績的實際範圍——雙向冒泡排序 84
難度指數★★☆☆☆☆ 占用時間 ○○
實例064 求成績合格的學生——快速排序 85
難度指數★★☆☆☆☆ 占用時間 ○○
實例065 求成績在前10名的學生——直接選擇排序 86
難度指數★★☆☆☆☆ 占用時間 ○○
實例066 將學生按成績從低到高排序——堆排序 87
難度指數★★☆☆☆☆ 占用時間 ○○
實例067 將學生按成績進行歸併排序——二路歸併排序 89
難度指數★★☆☆☆☆ 占用時間 ○○
實例068 將學生按年級和成績進行排序——基數排序 91
難度指數★★☆☆☆☆ 占用時間 ○○
實例069 查找指定姓名的學生信息——順序查找 93
難度指數★★☆☆☆☆ 占用時間 ○○
實例070 查找指定學號的學生信息——折半查找 94
難度指數★★☆☆☆☆ 占用時間 ○○
實例071 查詢指定成績的學生信息——二叉排序樹 95
難度指數★★☆☆☆☆ 占用時間 ○○
實例072 按學生成績構造哈希表——哈希表 97
難度指數★★☆☆☆☆ 占用時間 ○○
第7章 類與結構99
實例073 創建員工信息表——類與對象 99
難度指數★★☆☆☆☆ 占用時間 ○○
實例074 統計工廠生產汽車的數量——靜態類型與成員 101
難度指數★★☆☆☆☆ 占用時間 ○○
實例075 自定義日期類型——構造函式重載 102
難度指數★★☆☆☆☆ 占用時間 ○○
實例076 計算不同級別員工的工資——函式重載 103
難度指數★★☆☆☆☆ 占用時間 ○○
實例077 計算學生年級平均成績——索引器 104
難度指數★★☆☆☆☆ 占用時間 ○○
實例078 旅行社費用計算——屬性 106
難度指數★★☆☆☆☆ 占用時間 ○○
實例079 計算球、圓柱和圓錐的體積——繼承 107
難度指數★★☆☆☆☆ 占用時間 ○○
實例080 輸出不同員工的工作內容——繼承方法 109
難度指數★★☆☆☆☆ 占用時間 ○○
實例081 動物園給不同的動物餵食——基類構造函式 110
難度指數★★☆☆☆☆ 占用時間 ○○
實例082 計算圓柱體和圓錐體表面積——多態 111
難度指數★★☆☆☆☆ 占用時間 ○○
實例083 圖書館管理學生借書許可權——抽象類 113
難度指數★★☆☆☆☆ 占用時間 ○○
實例084 計算兩個數的加、減、乘、除——接口 114
難度指數★★☆☆☆☆ 占用時間 ○○
實例085 模擬電話來電提醒——事件 116
難度指數★★☆☆☆☆ 占用時間 ○○
實例086 重新計算圓形和矩形的面積——基類事件 118
難度指數★★☆☆☆☆ 占用時間 ○○
實例087 輸出學生表中男生的信息——委託 120
難度指數★★☆☆☆☆ 占用時間 ○○
第8章 常用設計模式123
實例088 果園種植水果——簡單工廠模式 123
難度指數★★☆☆☆☆ 占用時間 ○○
實例089 果園引進新品種——工廠方法模式 125
難度指數★★☆☆☆☆ 占用時間 ○○
實例090 開闢新的果園——抽象工廠模式 127
難度指數★★☆☆☆☆ 占用時間 ○○
實例091 建造不同的果園——建造者模式 130
難度指數★★☆☆☆☆ 占用時間 ○○
實例092 建造同樣的果園——原型模式 133
難度指數★★☆☆☆☆ 占用時間 ○○
實例093 果園噴灑殺蟲劑——單例模式 134
難度指數★★☆☆☆☆ 占用時間 ○○
實例094 種植不同種類的水果——外觀模式 135
難度指數★★☆☆☆☆ 占用時間 ○○
實例095 果園改變種植方式——適配器模式 137
難度指數★★☆☆☆☆ 占用時間 ○○
實例096 果園改進種植方法——裝飾者模式 139
難度指數★★☆☆☆☆ 占用時間 ○○
實例097 水果的銷售——代理模式 141
難度指數★★☆☆☆☆ 占用時間 ○○
實例098 果園實現統一的種植方法——橋接模式 143
難度指數★★☆☆☆☆ 占用時間 ○○
實例099 水果的分級採摘和銷售——組合模式 145
難度指數★★☆☆☆☆ 占用時間 ○○
實例100 不斷更新的種植方法——策略模式 147
難度指數★★☆☆☆☆ 占用時間 ○○
實例101 果園的監控——觀察者模式 149
難度指數★★☆☆☆☆ 占用時間 ○○
實例102 果園之間互換水果品種——中介者模式 150
難度指數★★☆☆☆☆ 占用時間 ○○
實例103 果農培育果樹——訪問者模式 153
難度指數★★☆☆☆☆ 占用時間 ○○

第二篇 窗體篇

第9章 滑鼠和鍵盤156
實例104 獲取滑鼠窗體坐標和螢幕坐標 156
難度指數★★☆☆☆☆ 占用時間 ○○
實例105 滑鼠長時間按下事件 157
難度指數★★☆☆☆☆ 占用時間 ○○
實例106 根據區域設定滑鼠類型 158
難度指數★★☆☆☆☆ 占用時間 ○○
實例107 創建滑鼠圖示 159
難度指數★★☆☆☆☆ 占用時間 ○○
實例108 限制滑鼠活動範圍 160
難度指數★★☆☆☆☆ 占用時間 ○○
實例109 隱藏和顯示滑鼠指針 161
難度指數★★☆☆☆☆ 占用時間 ○○
實例110 利用滑鼠書寫漢字 162
難度指數★★☆☆☆☆ 占用時間 ○○
實例111 按下Ctrl+Enter組合鍵實現窗體全螢幕 163
難度指數★★☆☆☆☆ 占用時間 ○○
實例112 禁止Alt+F4組合鍵 164
難度指數★★☆☆☆☆ 占用時間 ○○
實例113 使用Shift+方向鍵調整窗體大小 165
難度指數★★☆☆☆☆ 占用時間 ○○
實例114 錄製並回放滑鼠移動軌跡 166
難度指數★★☆☆☆☆ 占用時間 ○○
實例115 模擬鍵盤輸入 168
難度指數★★☆☆☆☆ 占用時間 ○○
第10章 窗體設計 170
實例116 特殊形狀的窗體 170
難度指數★★☆☆☆☆ 占用時間 ○○
實例117 自動調整窗體中的控制項 171
難度指數★★☆☆☆☆ 占用時間 ○○
實例118 窗體動態出現 172
難度指數★★☆☆☆☆ 占用時間 ○○
實例119 動態窗體背景 174
難度指數★★☆☆☆☆ 占用時間 ○○
實例120 窗體抖動 175
難度指數★★☆☆☆☆ 占用時間 ○○
實例121 窗體閃爍 176
難度指數★★☆☆☆☆ 占用時間 ○○
實例122 拖動無框線窗體 177
難度指數★★☆☆☆☆ 占用時間 ○○
實例123 實現多文檔窗體 179
難度指數★★☆☆☆☆ 占用時間 ○○
第11章 控制項套用 181
實例124 動態添加按鈕——Button控制項 181
難度指數★★☆☆☆☆ 占用時間 ○○
實例125 限制文本框輸入內容——TextBox控制項 183
難度指數★★☆☆☆☆ 占用時間 ○○
實例126 省市選擇——ComboBox控制項 184
難度指數★★☆☆☆☆ 占用時間 ○○
實例127 突出顯示關鍵字——RichTextBox控制項186
難度指數★★☆☆☆☆ 占用時間 ○○
實例128 數據批處理——ListBox控制項186
難度指數★★☆☆☆☆ 占用時間 ○○
實例129 輸入選課信息——CheckBox控制項188
難度指數★★☆☆☆☆ 占用時間 ○○
實例130 瀏覽磁碟目錄——TreeView控制項 189
難度指數★★☆☆☆☆ 占用時間 ○○
實例131 監控程式執行進度——ProgressBar控制項190
難度指數★★☆☆☆☆ 占用時間 ○○
實例132 窗體和控制項的氣泡提示——ToolTip控制項 191
難度指數★★☆☆☆☆ 占用時間 ○○
實例133 通知區圖示動畫——NotifyIcon控制項 192
難度指數★★☆☆☆☆ 占用時間 ○○
實例134 瀏覽學生信息——ListView控制項 193
難度指數★★☆☆☆☆ 占用時間 ○○
實例135 窗體分塊顯示——SplitContainer控制項 195
難度指數★★☆☆☆☆ 占用時間 ○○
實例136 窗體分頁顯示——TabControl控制項 197
難度指數★★☆☆☆☆ 占用時間 ○○
實例137 功能選單退出程式——MenuStrip控制項 199
難度指數★★☆☆☆☆ 占用時間 ○○
實例138 通知區選單退出程式——ContextMenuStrip控制項 200
難度指數★★☆☆☆☆ 占用時間 ○○
第12章 組件套用 202
實例139 製作時鐘——Timer組件 202
難度指數★★☆☆☆☆ 占用時間 ○○
實例140 讀寫系統日誌——EventLog組件 203
難度指數★★☆☆☆☆ 占用時間 ○○
實例141 向檔案中寫入數據——BackgroundWorker組件 204
難度指數★★☆☆☆☆ 占用時間 ○○
實例142 密碼錯誤提示——ErrorProvider組件 206
難度指數★★☆☆☆☆ 占用時間 ○○
實例143 打開控制台程式——Process組件 207
難度指數★★☆☆☆☆ 占用時間 ○○
實例144 製作動畫——ImageList組件208
難度指數★★☆☆☆☆ 占用時間 ○○
實例145 改變窗體背景顏色——ColorDialog對話框 209
難度指數★★☆☆☆☆ 占用時間 ○○
實例146 載入窗體背景圖片——OpenFileDialog 對話框 210
難度指數★★☆☆☆☆ 占用時間 ○○
實例147 改變控制項字型——FontDialog對話框 212
難度指數★★☆☆☆☆ 占用時間 ○○

第三篇 套用篇

第13章 多執行緒編程 214
實例148 模擬群發祝福簡訊 214
難度指數★★☆☆☆☆ 占用時間 ○○
實例149 模擬鐵路售票系統 215
難度指數★★☆☆☆☆ 占用時間 ○○
實例150 生產者與消費者模型 217
難度指數★★☆☆☆☆ 占用時間 ○○
實例151 檢測用戶線上時間 218
難度指數★★☆☆☆☆ 占用時間 ○○
實例152 求海量數據最大值 220
難度指數★★☆☆☆☆ 占用時間 ○○
實例153 連線埠掃描工具 222
難度指數★★☆☆☆☆ 占用時間 ○○
實例154 查找本地檔案 223
難度指數★★☆☆☆☆ 占用時間 ○○
實例155 統計單詞詞頻 224
難度指數★★☆☆☆☆ 占用時間 ○○
實例156 簡單定時器工具 225
難度指數★★☆☆☆☆ 占用時間 ○○
第14章 檔案系統 227
實例157 開啟檔案隱藏屬性 227
難度指數★★☆☆☆☆ 占用時間 ○○
實例158 開啟資料夾唯讀屬性 228
難度指數★★☆☆☆☆ 占用時間 ○○
實例159 輸出子資料夾路徑 229
難度指數★★☆☆☆☆ 占用時間 ○○
實例160 統計檔案數目 230
難度指數★★☆☆☆☆ 占用時間 ○○
實例161 批量重命名檔案 231
難度指數★★☆☆☆☆ 占用時間 ○○
實例162 分割檔案 232
難度指數★★☆☆☆☆ 占用時間 ○○
實例163 拼接檔案 233
難度指數★★☆☆☆☆ 占用時間 ○○
實例164 加密檔案 235
難度指數★★☆☆☆☆ 占用時間 ○○
實例165 解密檔案 236
難度指數★★☆☆☆☆ 占用時間 ○○
實例166 二進制比較檔案 238
難度指數★★☆☆☆☆ 占用時間 ○○
實例167 創建XML文檔239
難度指數★★☆☆☆☆ 占用時間 ○○
實例168 讀寫XML文檔241
難度指數★★☆☆☆☆ 占用時間 ○○
實例169 監控檔案 242
難度指數★★☆☆☆☆ 占用時間 ○○
實例170 壓縮檔案 243
難度指數★★☆☆☆☆ 占用時間 ○○
實例171 解壓縮檔案 244
難度指數★★☆☆☆☆ 占用時間 ○○
第15章 註冊表技術 246
實例172 應用程式開機自動啟動 246
難度指數★★☆☆☆☆ 占用時間 ○○
實例173 禁止使用Windows任務管理器 248
難度指數★★☆☆☆☆ 占用時間 ○○
實例174 隱藏指定的磁碟驅動器 249
難度指數★★☆☆☆☆ 占用時間 ○○
實例175 禁止打開註冊表 251
難度指數★★☆☆☆☆ 占用時間 ○○
實例176 實現註冊表樹形視圖瀏覽器 253
難度指數★★☆☆☆☆ 占用時間 ○○
實例177 在註冊表中搜尋含有指定信息的項 255
難度指數★★☆☆☆☆ 占用時間 ○○
第16章 資料庫技術 258
實例178 創建並連線學生資料庫 258
難度指數★★☆☆☆☆ 占用時間 ○○
實例179 創建學生信息表 259
難度指數★★☆☆☆☆ 占用時間 ○○
實例180 插入學生信息 261
難度指數★★☆☆☆☆ 占用時間 ○○
實例181 修改學生成績 262
難度指數★★☆☆☆☆ 占用時間 ○○
實例182 刪除指定年級的學生信息 263
難度指數★★☆☆☆☆ 占用時間 ○○
實例183 查詢成績合格的學生 265
難度指數★★☆☆☆☆ 占用時間 ○○
實例184 輸出全部學生信息 266
難度指數★★☆☆☆☆ 占用時間 ○○
實例185 在窗體上顯示學生信息 267
難度指數★★☆☆☆☆ 占用時間 ○○
實例186 增加性別欄位 267
難度指數★★☆☆☆☆ 占用時間 ○○
實例187 查詢女生信息 269
難度指數★★☆☆☆☆ 占用時間 ○○
實例188 分組統計學生信息 270
難度指數★★☆☆☆☆ 占用時間 ○○
實例189 查詢學生學號與姓名 271
難度指數★★☆☆☆☆ 占用時間 ○○
第17章 訪問Office274
實例190 創建Word文檔 274
難度指數★★☆☆☆☆ 占用時間 ○○
實例191 保存Word文檔 276
難度指數★★☆☆☆☆ 占用時間 ○○
實例192 向Word文檔中添加頁眉和頁腳 277
難度指數★★☆☆☆☆ 占用時間 ○○
實例193 向Word文檔中添加頁碼 278
難度指數★★☆☆☆☆ 占用時間 ○○
實例194 向Word文檔中添加文字 280
難度指數★★☆☆☆☆ 占用時間 ○○
實例195 向Word文檔中插入圖片 281
難度指數★★☆☆☆☆ 占用時間 ○○
實例196 向Word文檔中添加表格 282
難度指數★★☆☆☆☆ 占用時間 ○○
實例197 讀取Word文檔中的表格 284
難度指數★★☆☆☆☆ 占用時間 ○○
實例198 創建Excel表格 286
難度指數★★☆☆☆☆ 占用時間 ○○
實例199 保存Excel表格 288
難度指數★★☆☆☆☆ 占用時間 ○○
實例200 修改Excel表格 289
難度指數★★☆☆☆☆ 占用時間 ○○
實例201 讀取Excel表格 291
難度指數★★☆☆☆☆ 占用時間 ○○

第四篇 新技術篇

第18章 GDI+繪圖技術 293
實例202 在窗體上繪製各種形狀 293
難度指數★★☆☆☆☆ 占用時間 ○○
實例203 在窗體上繪製不同樣式的線段和矩形 296
難度指數★★☆☆☆☆ 占用時間 ○○
實例204 利用圖片作為紋理繪製矩形 298
難度指數★★☆☆☆☆ 占用時間 ○○
實例205 利用漸變畫刷繪製窗體背景 300
難度指數★★☆☆☆☆ 占用時間 ○○
實例206 在窗體上繪製文本 302
難度指數★★☆☆☆☆ 占用時間 ○○
實例207 在窗體上繪製圖像 304
難度指數★★☆☆☆☆ 占用時間 ○○
實例208 創建並在窗體上繪製點陣圖 306
難度指數★★☆☆☆☆ 占用時間 ○○
第19章 自定義控制項 308
實例209 電子計時器控制項 308
難度指數★★☆☆☆☆ 占用時間 ○○
實例210 創建點陣圖按鈕 310
難度指數★★☆☆☆☆ 占用時間 ○○
實例211 可用滑鼠拖動的列表控制項 312
難度指數★★☆☆☆☆ 占用時間 ○○
實例212 可水平和垂直顯示的水晶按鈕 314
難度指數★★☆☆☆☆ 占用時間 ○○
實例213 帶滑動效果的滾動條 317
難度指數★★☆☆☆☆ 占用時間 ○○
實例214 類似開關的複選框 319
難度指數★★☆☆☆☆ 占用時間 ○○
第20章 圖像處理技術 322
實例215 圖像區域分割與提取 322
難度指數★★☆☆☆☆ 占用時間 ○○
實例216 基於差分的邊緣檢測與提取 325
難度指數★★☆☆☆☆ 占用時間 ○○
實例217 利用中值濾波使圖像變得平滑 328
難度指數★★☆☆☆☆ 占用時間 ○○
實例218 增強圖像對比度 329
難度指數★★☆☆☆☆ 占用時間 ○○
實例219 目標提取與區域標記 331
難度指數★★☆☆☆☆ 占用時間 ○○
實例220 圖像的複雜變形 333
難度指數★★☆☆☆☆ 占用時間 ○○
第21章 Aero技術 336
實例221 帶框線窗體實現Aero磨砂玻璃效果 336
難度指數★★☆☆☆☆ 占用時間 ○○
實例222 窗體指定區域實現Aero磨砂玻璃效果 339
難度指數★★☆☆☆☆ 占用時間 ○○
實例223 無框線窗體實現Aero磨砂玻璃效果 341
難度指數★★☆☆☆☆ 占用時間 ○○
實例224 不規則無框線窗體Aero磨砂玻璃效果 343
難度指數★★☆☆☆☆ 占用時間 ○○
實例225 Aero磨砂玻璃窗體實現雙快取繪圖 344
難度指數★★☆☆☆☆ 占用時間 ○○
實例226 用滑鼠拖動無框線Aero磨砂玻璃窗體 346
難度指數★★☆☆☆☆ 占用時間 ○○
實例227 用滑鼠調整無框線Aero磨砂玻璃窗體的大小 347
難度指數★★☆☆☆☆ 占用時間 ○○
第22章 WPF技術 349
實例228 創建WPF應用程式349
難度指數★★☆☆☆☆ 占用時間 ○○
實例229 通過按鈕修改窗體的顏色 352
難度指數★★☆☆☆☆ 占用時間 ○○
實例230 在窗體上顯示字元串資源 354
難度指數★★☆☆☆☆ 占用時間 ○○
實例231 實現文本控制項的互相綁定 356
難度指數★★☆☆☆☆ 占用時間 ○○
實例232 實現不同樣式的按鈕 357
難度指數★★☆☆☆☆ 占用時間 ○○
實例233 利用按鈕模板實現自定義按鈕 360
難度指數★★☆☆☆☆ 占用時間 ○○
實例234 利用數據模板顯示學生信息列表 362
難度指數★★☆☆☆☆ 占用時間 ○○
實例235 實現幾種不同單擊事件的按鈕 364
難度指數★★☆☆☆☆ 占用時間 ○○
實例236 利用畫刷實現絢麗的按鈕 365
難度指數★★☆☆☆☆ 占用時間 ○○
實例237 實現兩個形狀的多種組合 367
難度指數★★☆☆☆☆ 占用時間 ○○
實例238 實現滑鼠控制3D立方體 368
難度指數★★☆☆☆☆ 占用時間 ○○
第23章 反射 372
實例239 動態載入程式集 372
難度指數★★☆☆☆☆ 占用時間 ○○
實例240 晚期綁定類型 373
難度指數★★☆☆☆☆ 占用時間 ○○
實例241 利用接口代替反射 374
難度指數★★☆☆☆☆ 占用時間 ○○
實例242 利用晚期綁定反射特性 376
難度指數★★☆☆☆☆ 占用時間 ○○
實例243 利用反射製作程式集瀏覽器 378
難度指數★★☆☆☆☆ 占用時間 ○○
實例244 序列化存取類實例 380
難度指數★★☆☆☆☆ 占用時間 ○○
實例245 利用反射讀取序列化類 383
難度指數★★☆☆☆☆ 占用時間 ○○
第24章 網路編程技術 385
實例246 同步服務端 385
難度指數★★☆☆☆☆ 占用時間 ○○
實例247 同步客戶端 387
難度指數★★☆☆☆☆ 占用時間 ○○
實例248 異步服務端 389
難度指數★★☆☆☆☆ 占用時間 ○○
實例249 異步客戶端 392
難度指數★★☆☆☆☆ 占用時間 ○○
實例250 簡單聊天室服務端 394
難度指數★★☆☆☆☆ 占用時間 ○○
實例251 簡單聊天室客戶端 396
難度指數★★☆☆☆☆ 占用時間 ○○
實例252 實現區域網路廣播 398
難度指數★★☆☆☆☆ 占用時間 ○○
實例253 實現簡單瀏覽器 400
難度指數★★☆☆☆☆ 占用時間 ○○
實例254 實現檔案傳輸服務端 401
難度指數★★☆☆☆☆ 占用時間 ○○
實例255 實現檔案傳輸客戶端 403
難度指數★★☆☆☆☆ 占用時間 ○○
實例256 斷點續傳檔案 405
難度指數★★☆☆☆☆ 占用時間 ○○
實例257 傳送電子郵件 406
難度指數★★☆☆☆☆ 占用時間 ○○
實例258 接收電子郵件 408
難度指數★★☆☆☆☆ 占用時間 ○○
實例259 利用遠程過程調用實現遠程互動 411
難度指數★★☆☆☆☆ 占用時間 ○○
第25章 多進程編程 414
實例260 主進程調用多個子進程 414
難度指數★★☆☆☆☆ 占用時間 ○○
實例261 設計簡單的系統任務管理器 415
難度指數★★☆☆☆☆ 占用時間 ○○
實例262 設計簡單的系統服務管理器 417
難度指數★★☆☆☆☆ 占用時間 ○○
實例263 禁止進程多次開啟 418
難度指數★★☆☆☆☆ 占用時間 ○○
實例264 實現進程間同步 420
難度指數★★☆☆☆☆ 占用時間 ○○
實例265 實現通用守護進程 421
難度指數★★☆☆☆☆ 占用時間 ○○
第26章 與C/C++的互動 424
實例266 C/C++中的基本類型在C#中傳遞 424
難度指數★★☆☆☆☆ 占用時間 ○○
實例267 C/C++中的結構體在C#中傳遞 428
難度指數★★☆☆☆☆ 占用時間 ○○
實例268 C/C++中的指針在C#中傳遞 429
難度指數★★☆☆☆☆ 占用時間 ○○
實例269 C/C++中的函式指針在C#中傳遞 431
難度指數★★☆☆☆☆ 占用時間 ○○
實例270 C/C++中指針的指針在C#中傳遞 432
難度指數★★☆☆☆☆ 占用時間 ○○
實例271 利用WIN32的API改變窗體屬性 433
難度指數★★☆☆☆☆ 占用時間 ○○
實例272 利用WIN32的API任意拖動窗體 434
難度指數★★☆☆☆☆ 占用時間 ○○
第27章 系統管理 436
實例273 獲取作業系統版本號 436
難度指數★★☆☆☆☆ 占用時間 ○○
實例274 獲取邏輯磁碟信息 437
難度指數★★☆☆☆☆ 占用時間 ○○
實例275 獲取磁碟驅動器空間 438
難度指數★★☆☆☆☆ 占用時間 ○○
實例276 獲取螢幕解析度 439
難度指數★★☆☆☆☆ 占用時間 ○○
實例277 查詢並修改本地IP位址440
難度指數★★☆☆☆☆ 占用時間 ○○
實例278 監視記憶體使用狀態 442
難度指數★★☆☆☆☆ 占用時間 ○○
實例279 監視CPU使用率 442
難度指數★★☆☆☆☆ 占用時間 ○○
實例280 利用硬體信息對程式加密 443
難度指數★★☆☆☆☆ 占用時間 ○○
第28章 LINQ技術 446
實例281 查詢年齡大於20歲的學生信息 446
難度指數★★☆☆☆☆ 占用時間 ○○
實例282 輸出成績在指定範圍內的學生信息 449
難度指數★★☆☆☆☆ 占用時間 ○○
實例283 對學生成績進行排序 449
難度指數★★☆☆☆☆ 占用時間 ○○
實例284 按年級和性別分組查詢學生信息 450
難度指數★★☆☆☆☆ 占用時間 ○○
實例285 在資料庫中創建學生信息表 451
難度指數★★☆☆☆☆ 占用時間 ○○
實例286 查詢資料庫成績合格的男生信息 454
難度指數★★☆☆☆☆ 占用時間 ○○
實例287 從資料庫中刪除成績不合格的學生信息 455
難度指數★★☆☆☆☆ 占用時間 ○○
實例288 在資料庫中修改姓王的學生成績 456
難度指數★★☆☆☆☆ 占用時間 ○○
實例289 降序排列資料庫中各年級男生的成績 457
難度指數★★☆☆☆☆ 占用時間 ○○
實例290 統計各年級學生成績總分和平均年齡 458
難度指數★★☆☆☆☆ 占用時間 ○○
實例291 統計男生和女生成績的最高分和最低分 458
難度指數★★☆☆☆☆ 占用時間 ○○
實例292 查詢年齡在20歲以上和成績在60分以下的學生 459
難度指數★★☆☆☆☆ 占用時間 ○○
實例293 查詢資料庫第11到第15條的學生信息 460
難度指數★★☆☆☆☆ 占用時間 ○○
第29章 並行處理技術 462
實例294 利用並行技術判斷素數 462
難度指數★★☆☆☆☆ 占用時間 ○○
實例295 並行計算中的中斷和跳出 464
難度指數★★☆☆☆☆ 占用時間 ○○
實例296 並行計算中的異常處理 465
難度指數★★☆☆☆☆ 占用時間 ○○
實例297 並行計算中的安全集合 466
難度指數★★☆☆☆☆ 占用時間 ○○
實例298 利用並行循環生成超長隨機數 468
難度指數★★☆☆☆☆ 占用時間 ○○
實例299 利用並行技術實現矩陣運算 469
實例300 利用PLINQ實現集合的並行化查詢 471
難度指數★★☆☆☆☆ 占用時間 ○○

作者簡介

王 騫
武漢大學計算機科學與技術專業博士,中國計算機學會會員,從事計算機視覺、模式識別、圖像處理和多媒體技術等方面的研究,在國際會議和期刊上發表過大量文章,擁有多項發明專利。同時還是一位軟體架構師和軟體研發人員,具備超過十年以上的軟體研發經驗,參與過大量項目的軟體系統架構和研發,兼任多家公司的軟體研發總監,同時還為公司員工提供C#語言和.NET技術培訓。
陳 宇
武漢大學計算機科學與技術專業博士,系統分析師,架構師,從事十多年的軟體研發及相關工作。現為湖北第二師範學院計算機學院教師,專注於C、C++、C#以及Java等計算機程式語言課程的講授。此外,對嵌入式系統設計也有一定的研究。
管馬舟
武漢大學計算機科學與技術專業碩士,從事圖像處理和模式識別方面的研究。還從事過.NET程式開發多年,主要涉及窗體應用程式、WPF界面程式、計算機網路和資料庫編程等,有著豐富的編程實戰經驗。參與過多個大型項目,利用C#語言和.NET技術對這些項目的軟體進行研發,同時對.NET底層原理有著很深的理解。

前言

C#是構建在.NET框架上的一種面向對象的程式語言,其語法簡潔,類型安全,具有與其他語言良好的兼容性及完善的錯誤處理機制,再加上強大的.NET框架支撐,使它成為Windows應用程式開發的神兵利器。
本書為讀者精心設計的每一個實例均來自實際開發的項目,實例將.NET框架所提供的功能和C#編程技巧充分融合,不但使讀者提高了分析實際問題的能力,學會了如何將.NET框架提供的功能靈活地運用到實際問題中,而且還學會了如何利用C#編程技巧來提高程式的執行效率。

本書特點

本書最大的優點是在實例分析、框架運用和技巧講解的同時,將C#語言的基礎知識貫穿其中,使初學者能在實例中融會貫通基礎知識。本書全面介紹C#編程時所需的基礎知識,提供的實例內容涉及實際編程中的方方面面,將.NET框架所提供的絕大部分功能運用於實例中,編程技巧更是來自筆者多年的編程經驗。全書對實例的講解簡單明了,章節內容全面,知識點由淺入深,.NET框架功能由易到難。
本書在內容安排和實例講解上的主要特點如下。
涵蓋廣泛:本書通過300個經典實例,將C#語言的基礎知識和.NET框架所提供的絕大部分功能穿插其中。
知識套用:知識點與實例充分結合,使讀者不但能學會大量的知識點,還能將知識點融會貫通,靈活運用到應用程式開發之中。
技巧強大:根據筆者多年的項目開發經驗,每個實例在穿插知識點的同時還引入了程式開發中的一些編程技巧,這些技巧可以大大提高程式的安全性、穩定性和執行效率等。
算法對比:實例在介紹一些新算法和新技術的同時,還加入了對比實驗,讓讀者更好地理解新算法和新技術的優勢所在。
代碼分析:每個實例除了提供主要代碼外,還有詳細的代碼分析,不但有知識點的全面講解,還有一些在編程中的習慣用法和技巧的講解。
難易兼顧:實例中大部分知識點都是基礎知識點,但是在運用基礎知識點的同時,還會穿插一些不常見或是對初學者比較難懂的知識點,而恰恰是這些知識點能很好地解決問題,這樣,不管是初學者還是中高級程式開發者,都能學到知識。
基礎實用:本書中的實例大多數是項目開發中會遇到的一些算法和技術,讓讀者在理解基礎知識的同時,也為項目開發打下堅實的基礎。

本書慨括

第一篇 基礎篇(第1章~第8章),主要介紹Visual Studio開發平台的使用以及C#語言的語法基礎。本篇包括103個實例,主要涉及幾類應用程式的創建、C#語言的語法基礎、數據結構以及常用設計模式。
第二篇 窗體篇(第9章~第12章),主要介紹Windows窗體應用程式的編程。本篇包括44個實例,主要涉及滑鼠和鍵盤的事件處理與控制、窗體界面設計以及常用控制項和組件的使用。
第三篇 套用篇(第13章~第17章),主要介紹.NET框架所提供的一些套用功能。本篇包括54個實例,主要涉及多執行緒的使用、檔案系統的管理、註冊表的訪問、資料庫的操作及Word和Excel檔案的讀寫。
第四篇 新技術篇(第18章~第29章),主要介紹C#編程中的高級技術和.NET 4.0平台所提供的新功能。本篇包括99個實例,主要涉及GDI+繪圖技術、自定義控制項技術、圖像處理技術、Areo窗體設計、WPF窗體設計、反射編程技術、網路編程技術、多進程編程技術、與C++程式互動技術、系統管理技術、LINQ技術和並行處理技術。

本書約定

【實例描述】對實例所用到的技術以及實例所解決的問題做詳細的描述,並將實例程式運行效果以圖片的形式展現出來。
【實現過程】給出實例程式實現的關鍵步驟以及每個步驟中的關鍵代碼,並對重要變數和代碼中的關鍵性語句給出詳細的注釋,對具有界面操作的步驟,還給出了明確的截圖和關鍵區域標記。
【代碼解析】對實例代碼中所涉及的知識點進行詳細說明,對知識點之間複雜的聯繫進行深入剖析,對難以理解的算法進行分步講解,對知識點在實際問題中的套用進行舉一反三。
【說明/注意/技巧】對實例中難以理解的部分進行進一步說明,對實例代碼中需要引起讀者注意的地方進行特別說明,對編程過程中所用到的編程技巧進行詳細講解。

書籍讀者

對於沒有任何編程經驗的初學者。
對於有一定C++、Java或Visual Basic編程經驗的讀者。
對C#有一定基礎,想進一步深入學習C#的讀者。
大中專院校和培訓學校的師生。
C#中級、高級程式設計師。
閱讀本書的建議
為了提高讀者的學習效率,增強學習效果,我們特別提出以下學習建議。
對於沒有任何編程經驗的初學者,請熟練掌握第一篇中的基礎知識後再學習後面的章節。
對於有一定其他程式語言經驗的讀者,可以快速閱讀第一篇中的基礎知識,了解C#與其他幾種程式語言的區別,然後針對自己感興趣的章節進行學習。
對於C#有一定基礎的讀者,可以對第一篇的基礎知識進行溫故,然後對後面的章節進行學習。
對於已經熟練掌握C#的程式設計師,可以重點學習實例的實現過程、算法的思想以及編程的技巧。
對於每一個實例,希望所有的讀者先自己思考一下實現的思路,然後再閱讀,最好能夠動手將實例程式在計算機上實現,這樣學習效果更好。
學會查閱MSDN(Microsoft DeveloperNetwork),在調試程式的過程中,遇到問題時能夠從網路上獲取相關信息並解決問題。
編 者

相關詞條

熱門詞條

聯絡我們