《C#程式設計(第二版)》是2017年1月1日清華大學出版社出版的圖書,作者是王賢明、谷瓊、胡智文。
基本介紹
- 中文名:C#程式設計(第二版)
- 作者:王賢明、谷瓊、胡智文
- 出版時間:2017年1月
- 出版社:清華大學出版社
- ISBN:9787302454076
- 定價:49.8 元
內容簡介,圖書目錄,
內容簡介
本書以通俗易懂的語言、生動有趣的示例來講解C#多個方面的知識,內容安排兼顧廣度、深度,緊跟C#發展動向,知識新穎,內容豐富。開發工具使用Visual Studio 2015,內容囊括數據類型、運算符、程式控制、面向對象、數組、字元串、Windows Form程式設計、檔案、集合、泛型、GDI+、多執行緒、序列化、SQL、ADO.NET、實用類庫等。
全書講解過程中配備了大量示例,示例簡短精煉,融知識性趣味性於一體。為了給讀者釋疑解惑,也為了給部分學有餘力的讀者提供深入學習的視窗,在每章都安排了問與答環節,講解了一些容易混淆的問題或者擴展一些課堂內的知識。練習方面,也是分層遞進,注重梯度,按課堂練習→課堂思考→課後思考與練習→實戰任務,逐層深入,難度逐步提升,符合一般的學習規律。另外,在實戰任務或者思考與練習中設計了不少具有實用價值的編程練習,使讀者在學習的過程中不會感到編程枯燥無趣,體會到用C#編程其樂無窮。
本書適合大中專院校、培訓機構的學生及.NET愛好者使用,可用作C#面向對象程式設計、.NET Framework程式設計、WinForm套用開發、.NET下的資料庫套用開發等課程的教材。
圖書目錄
第1章概述
1.1.NET
1.2C#
1.3VS開發環境
1.4編程初試
1.4.1控制台程式
1.4.2WinForm程式
1.5問與答
1.5.1學習.NET相關技術,將來能幹什麼
1.5.2何謂注釋,C#中的注釋有幾種
1.5.3使用VS.NET時有什麼技巧
1.5.4VS太大,是否有更小巧的C#學習開發環境
1.6思考與練習
1.7實戰任務
第2章數據類型與運算符
2.1常量與變數
2.1.1常量
2.1.2變數
2.1.3變數的命名
2.1.4變數的命名法
2.2簡單數據類型
2.2.1bool類型
2.2.2整型類型
2.2.3char類型
2.2.4小數類型
2.3枚舉類型
2.4結構類型
2.5隱式類型變數
2.6運算符
2.6.1算術運算符
2.6.2賦值運算符
2.6.4位運算符
2.6.5條件運算符
2.6.6自增與自減
2.6.7運算符的優先權
2.7轉換
2.7.1隱式轉換
2.7.2顯式轉換
2.7.3Type.Parse
2.7.4Convert類
2.7.5裝箱與拆箱
2.7.6as & is
2.8問與答
2.8.1數值類型那么多,怎樣記憶各類型的取值範圍
2.8.2如何知道數值類型占用多大存儲空間
2.8.3數值運算中,除數不能為零嗎
2.8.40/0.0=?
2.8.5NaN和Infinity參與計算時,結果如何
2.8.6定義枚舉類型時,第一個枚舉對應的數值必須為0嗎
2.8.7定義枚舉類型時,各個枚舉項對應的數值必須連續嗎
2.8.8如何更改枚舉類型元素的數據類型
2.8.9各種類型的默認值分別是什麼
2.8.10枚舉類型的位操作是什麼意思
2.9思考與練習
2.10實戰任務
第3章程式控制
3.1選擇語句
3.1.1if語句
3.1.2switch語句
3.2循環語句
3.2.1for語句
3.2.2while語句
3.2.3do…while語句
3.3跳轉語句
3.3.1break語句
3.3.2continue語句
3.3.3goto語句
3.3.4return語句
3.3.5throw語句
3.4問與答
3.4.1if和switch分別套用於什麼場合
3.4.2if和switch的各個分支的書寫順序有影響嗎
3.4.3如何避免太深的嵌套
3.4.4for、while、do…while分別套用於什麼場合
3.4.5如何知道程式執行耗費的時間
3.4.6如何產生隨機數
3.4.7什麼叫程式集
3.5思考與練習
3.6實戰任務
第4章面向對象基礎
4.1類與對象
4.2欄位
4.3屬性
4.3.1常規屬性
4.3.2自動屬性
4.4索引器
4.5方法
4.5.1方法的定義與使用
4.5.2變數作用域
4.5.3方法重載
4.5.4參數的個數不定問題——params
4.5.5ref與out
4.5.6this
4.6Main()函式
4.7構造函式
4.8static
4.9析構函式
4.10委託
4.10.1委託使用三步曲
4.10.2多播委託
4.11匿名方法
4.12Lambda表達式
4.13事件
4.13.1事件使用三步曲
4.13.2三類事件
4.14繼承
4.14.1繼承的實現
4.14.2抽象類及抽象方法
4.14.3類的密封
4.14.4繼承過程中構造函式的執行順序及調用
4.14.5protected修飾符
4.15多態
4.16接口
4.17匿名類型
4.18結構
4.18.1DateTime
4.18.2TimeSpan
4.19object類
4.19.1相等問題
4.19.2GetType()
4.19.3ToString()
4.20問與答
4.20.1什麼是命名空間
4.20.2readonly與const究竟有何區別
4.20.3什麼是分部類
4.20.4密封類的擴展——擴展方法
4.20.5is和as——兼談如何讓singer不要調用基類方法
4.20.6重寫與重載
4.20.7抽象方法和虛方法
4.20.8接口、抽象類、類與結構
4.20.9接口中有重名的方法該如何辦
4.20.10base與this
4.20.11什麼是運算符重載
4.20.12如何給自定義的結構定義相等邏輯
4.21思考與練習
4.22實戰任務
第5章數組
5.1聲明及初始化
5.2訪問與遍歷
5.3Array
5.4聰明的數組——索引器
5.5問與答
5.5.1如何使用Array.Sort()來排序對象數組
5.5.2數組的大小真的沒法調整嗎
5.5.3如何查找數組中具有特定特徵的元素
5.5.4索引器的參數類型一定要為int嗎
5.5.5如何不計算即可獲得最大值、最小值、和值、平均值
5.6思考與練習
5.7實戰任務
第6章字元串
6.1字元串及其轉義符
6.1.1字元串及其構造
6.1.2字元轉義
6.2常用方法
6.2.1string類的方法
6.2.2字元串對象的方法
6.3StringBuilder
6.4編碼
6.5問與答
6.5.1s=null,s=string.Empty與s =""""
6.5.2字元串與數組之間如何互相轉化
6.5.3字元串與位元組數組之間的轉換有何意義
6.5.4各種編碼之間如何轉換
6.6思考與練習
6.7實戰任務
第7章WinForm初步
7.1窗體
7.2控制項常用操作及其鍵盤和滑鼠事件
7.2.1控制項常用操作
7.2.2鍵盤事件處理
7.2.3滑鼠事件處理
7.3基本控制項
7.3.1Label控制項
7.3.2Button控制項
7.3.3RadioButton控制項
7.3.4CheckBox控制項
7.3.5TextBox控制項
7.3.6ListBox控制項
7.3.7ComboBox控制項
7.3.8PictureBox控制項
7.3.9NumericUpDown控制項
7.3.10ProgressBar控制項
7.3.11HScrollBar控制項和VScrollBar控制項
7.3.12TrackBar控制項
7.3.13ToolTip控制項
7.3.14GroupBox控制項
7.3.15Panel控制項
7.3.16MonthCalendar控制項
7.4常用組件
7.4.1Timer組件
7.4.2ImageList組件
7.5選單
7.5.1MenuStrip
7.5.2ContextMenuStrip
7.5.3ToolStrip
7.5.4StatusStrip
7.6對話框
7.6.1OpenFileDialog
7.6.2SaveFileDialog
7.6.3FontDialog
7.6.4ColorDialog
7.6.5FolderBrowserDialog
7.7高級控制項
7.7.1RichTextBox控制項
7.7.2CheckedListBox控制項
7.7.3TabControl控制項
7.7.4ListView控制項
7.7.5TreeView控制項
7.7.6WebBrowser控制項
7.8COM組件
7.8.1Shockwave Flash Object組件
7.8.2Windows Media Player組件
7.9MDI
7.10問與答
7.10.1鍵盤事件KeyDown、KeyUp和KeyPress有何關係
7.10.2Click和MouseClick有何關係
7.10.3多種滑鼠事件有何關係
7.10.4如何獲取應用程式的運行環境信息
7.10.5如何獲取應用程式的運行
7.10.6如何實現拖放
7.10.7關於剪貼簿
7.10.8如何動態構建控制項樹
7.10.9如何實現窗體間的數據互動
7.11思考與練習
7.12實戰任務
第8章檔案
8.1檔案系統
8.1.1驅動器訪問
8.1.2訪問
8.1.3檔案訪問
8.1.4路徑
8.2檔案處理流
8.2.1FileStream
8.2.2StreamReader與StreamWriter
8.2.3BinaryReader與BinaryWriter
8.3問與答
8.3.1如何創建臨時檔案
8.3.2如何比較兩個檔案是否一樣
8.4思考與練習
8.5實戰任務
第9章集合
9.1普通集合
9.1.1ArrayList
9.1.2Queue
9.1.3Stack
9.1.4Hashtable
9.1.5SortedList
9.1.6BitArray
9.2泛型
9.3泛型集合
9.3.1ListT
9.3.2QueueT和StackT
9.3.3DictionaryK,V和KeyValuePairK, V
9.3.4SortedListK,V
9.3.5HashSetT
9.4問與答
9.4.1集合中的元素應該如何正確刪除
9.4.2如何使用內置排序器來實現ArrayList排序——IComparer
9.4.3如何完全自定義排序規則來排序
9.4.4IEnumerable和IEnumerator有什麼作用和特性
9.4.5什麼是可空類型
9.4.6什麼是Tuple
9.4.7泛型變數的默認值是多少
9.4.8針對如下泛型方法,下面的調用代碼可行嗎
9.4.9泛型的比較問題
9.4.10HashSetT的擴展方法
9.4.11集合的運算
9.5思考與練習
9.6實戰任務
第10章GDI+
10.1概述
10.2輔助繪圖對象
10.2.1Point結構
10.2.2Size結構
10.2.3Rectangle結構
10.2.4Color結構
10.2.5Font類
10.2.6Graphics類
10.3基本繪圖工具
10.3.1Pen
10.3.2Brush
10.4圖像處理
10.4.1繪製直線
10.4.2繪製矩形
10.4.3繪製多邊形
10.4.4繪製曲線
10.4.5繪製橢圓
10.4.6繪製圖像
10.5常見套用
10.5.1格式轉換
10.5.2水印
10.5.3灰化
10.5.4底片
10.5.5浮雕
10.5.6文本列印
10.6問與答
10.6.1如何實現網頁顏色與Color的轉換
10.6.2Math類
10.7思考與練習
10.8實戰任務
第11章多執行緒
11.1進程
11.2多執行緒基礎操作
11.2.1創建執行緒
11.2.2啟動執行緒
11.2.3終止執行緒
11.2.4暫停執行緒
11.2.5合併執行緒
11.3執行緒同步
11.3.1lock
11.3.2Monitor
11.3.3Mutex
11.3.4ContextBoundObject
11.3.5ManualResetEvent
11.3.6AutoResetEvent
11.4執行緒池
11.5跨執行緒的控制項訪問
11.6問與答
11.6.1如何使用匿名方法來創建執行緒
11.6.2如何使用Lambda表達式來創建執行緒
11.6.3如何向執行緒方法傳遞多個參數
11.6.4如何通過手動同步事件給多個執行緒加鎖
11.7思考與練習
11.8實戰任務
第12章序列化
12.1二進制序列化
12.2SOAP序列化
12.3XML序列化
12.4問與答
12.4.1採用二進制序列化時,從序列化後的檔案能看到什麼
12.4.2如何序列化到記憶體流
12.4.3反序列化時想使用被禁止序列化的欄位該如何辦
12.4.4屬性在序列化時遵從什麼樣的規律呢
12.5思考與練習
12.6實戰任務
第13章壓縮與解壓
13.1DeflateStream
13.2GZipStream
13.3問與答
13.3.1using的作用
13.3.2如何實現多檔案的壓縮解壓
13.4思考與練習
13.5實戰任務
第14章SQL
14.1資料庫基本概念
14.2SQL學習環境及基本操作
14.2.1Microsoft SQL Server Management Studio
14.2.2資料庫與表的基本SQL操作
14.3Insert
14.4Select
14.4.1查詢數據
14.4.2查詢指定欄位
14.4.3排序
14.4.4過濾
14.4.5查詢前n條記錄
14.4.6模糊查詢
14.4.7統計
14.4.8分組
14.4.9空值查詢
14.5Update
14.6Delete
14.7問與答
14.7.1如果表名或者欄位名中有空格該如何辦
14.7.2如何只返回不重複的記錄
14.7.3如何指定結果的列名
14.7.4如何對查詢到的結果進行一定的組合或者運算後呈現
14.7.5如何使用between關鍵字
14.7.6如何使用in關鍵字
14.7.7如何使用[]、[^]通配符
14.7.8compute子句如何使用
14.7.9什麼是聯合查詢
14.7.10什麼是嵌套查詢
14.8思考與練習
14.9實戰任務
第15章ADO.NET
15.1Connection
15.2Command
15.3DataReader
15.4DataAdapter
15.5DataSet
15.6參數化查詢
15.7數據綁定
15.7.1相關控制項與組件
15.7.2簡單控制項綁定
15.7.3複雜控制項綁定
15.7.4數據綁定示例
15.8問與答
15.8.1記不住連線字元串的寫法如何辦
15.8.2Access資料庫的連線字元串是怎樣的
15.8.3連線Excel工作簿的連線字元串如何寫
15.8.4如何使用App.config檔案
15.9思考與練習
15.10實戰任務
附錄A異常處理與調試
A.1異常處理
A.1.1異常處理的幾種形式
A.1.2異常的引發
A.1.3自定義異常
A.2調試
參考文獻