C#應(yīng)用程序設(shè)計教程(第2版)
定 價:34 元
叢書名:21世紀(jì)高等學(xué)校計算機規(guī)劃教材
- 作者:耿肇英 ,等 著
- 出版時間:2010/11/1
- ISBN:9787115235275
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312C
- 頁碼:312
- 紙張:膠版紙
- 版次:2
- 開本:16開
《C#應(yīng)用程序設(shè)計教程(第2版)》介紹C#客戶端應(yīng)用程序設(shè)計技術(shù),內(nèi)容包括:C#語言基礎(chǔ)、wpf和winform應(yīng)用程序開發(fā)、圖形和圖像編程、文件讀/寫和管理、多線程應(yīng)用、socket編程、ado.net數(shù)據(jù)庫應(yīng)用程序設(shè)計等!禖#應(yīng)用程序設(shè)計教程(第2版)》采用實例教學(xué)法,在講清基本知識點的基礎(chǔ)上,盡量使用短小精悍的實例加以說明,使內(nèi)容容易理解!禖#應(yīng)用程序設(shè)計教程(第2版)》使用微軟免費的速成版集成開發(fā)環(huán)境!禖#應(yīng)用程序設(shè)計教程(第2版)》所有例子在.net framework 3.5下調(diào)試通過,大部分例子使用wpf控件。
《C#應(yīng)用程序設(shè)計教程(第2版)》可作為高等院!懊嫦?qū)ο體indows程序設(shè)計”教材,或作為學(xué)習(xí)使用C#語言開發(fā)應(yīng)用程序的培訓(xùn)班教材,也適合使用C#語言開發(fā)項目的程序員參考。
計算機專業(yè)開設(shè)的第一門高級程序設(shè)計語言課程一般是C或C++,學(xué)習(xí)高級程序設(shè)計語言基本知識,編寫控制臺或DOS應(yīng)用程序。在此之后應(yīng)進一步學(xué)習(xí)面向?qū)ο骔indows應(yīng)用程序設(shè)計,一方面為操作系統(tǒng)、數(shù)據(jù)庫、計算機網(wǎng)絡(luò)、計算機圖形學(xué)等后續(xù)課程提供程序設(shè)計基礎(chǔ),另一方面也盡早為學(xué)生課外實踐提供一個實用工具。本課程是為上述目的而設(shè)置的,是計算機導(dǎo)論和C或C++課程的后續(xù)課程。單純講授面向?qū)ο罄碚摰男Ч⒉缓,結(jié)合某個面向?qū)ο笳Z言的方法會有更好的教學(xué)效果。本書用c#語言介紹面向?qū)ο蟪绦蛟O(shè)計概念。
學(xué)習(xí)面向?qū)ο骔indows應(yīng)用程序設(shè)計應(yīng)采用廣泛使用又適合教學(xué)的工具和語言。考慮到Visual C++學(xué)習(xí)難度較大,Visual Basic(以下簡稱VB)雖然易學(xué),但還要耗費很緊張的學(xué)時學(xué)習(xí)一門新語言,是得不償失的。而c撐語言是為.NET架框量身定做的新一代面向?qū)ο蟮恼Z言,語法和C++非常相似,但比C++簡單,使用組件編程,和VB一樣容易使用。在第一門高級程序設(shè)計語言課程是C或C++的情況下,學(xué)習(xí)c#語言可節(jié)約很多學(xué)時,對于根本沒有接觸過VB的大學(xué)生,把c#作為學(xué)習(xí)面向?qū)ο骔indows應(yīng)用程序設(shè)計語言是合適的。當(dāng)前用C#語言開發(fā).NET系統(tǒng)的商用軟件較多,這也為學(xué)生畢業(yè)后工作打下較好基礎(chǔ)。
第1章 C#語言基礎(chǔ)
1.1 C#語言特點
1.2 編寫控制臺應(yīng)用程序
1.3 類的基本概念
1.3.1 類的基本概念
1.3.2 類成員的存取控制
1.3.3 類的對象
1.3.4 類的構(gòu)造函數(shù)、構(gòu)造函數(shù)重載和析構(gòu)函數(shù)
1.3.5 使用person類的完整的例子
1.3.6 程序調(diào)試與異常處理
1.4 c#的數(shù)據(jù)類型
1.4.1 值類型和引用類型的區(qū)別
1.4.2 值類型變量分類
1.4.3 結(jié)構(gòu)類型
1.4.4 簡單類型
1.4.5 枚舉類型
1.4.6 值類型的初值和默認構(gòu)造函數(shù)
1.4.7 可空類型
1.4.8 引用類型分類
1.4.9 object類
1.4.10 數(shù)組類
1.4.11 字符串類(string類)
1.4.12 類型轉(zhuǎn)換
1.4.13 泛型和泛型集合
1.4.14 隱式類型局部變量(var)
1.5 運算符
1.5.1 運算符分類
1.5.2 溢出檢查操作符checked和unchecked
1.5.3 new運算符
1.6 程序控制語句
1.6.1 c#語言語句和c語言語句的不同點
1.6.2 foreach語句
1.6.3 異常語句
1.6.4 using語句
1.7 類的繼承
1.7.1 派生類的聲明格式
1.7.2 隱藏基類方法
1.7.3 base關(guān)鍵字
1.7.4 c#語言類繼承特點
1.8 類的成員
1.8.1 類的成員類型
1.8.2 類成員訪問修飾符
1.9 類的字段和屬性
1.9.1 靜態(tài)字段、實例字段、常量和只讀字段
1.9.2 屬性
1.9.3 對象初始化器
1.9.4 自動屬性
1.9.5 匿名類型
1.10 類的方法
1.10.1 方法的聲明
1.10.2 方法中參數(shù)的傳遞
1.10.3 靜態(tài)方法和實例方法
1.10.4 方法的重載
1.10.5 操作符重載
1.10.6 this關(guān)鍵字
1.10.7 擴展方法
1.11 類的多態(tài)性
1.12 抽象類和抽象方法
1.13 密封類和密封方法
1.14 靜態(tài)類和靜態(tài)類成員
1.15 c# 2.0中的分部類
1.16 使自定義類支持foreach語句
1.17 接口
1.17.1 接口聲明
1.17.2 接口的繼承
1.17.3 類對接口的實現(xiàn)
1.18 委托類型
1.19 事件
1.19.1 事件驅(qū)動
1.19.2 事件的聲明
1.19.3 事件的預(yù)訂和撤銷
1.19.4 匿名方法
1.19.5 lambda表達式
1.20 索引指示器
1.21 命名空間
1.21.1 命名空間的聲明
1.21.2 命名空間使用
1.22 linq
習(xí)題
第2章 wpf編程基礎(chǔ)
2.1 windows編程接口和類庫
2.2 gdi和wpf
2.3 textblock、label和button控件
2.4 wpf控件通用屬性
2.5 wpf程序基本結(jié)構(gòu)
2.6 application類和window類
2.7 用vs2008創(chuàng)建wpf程序
2.8 控件的z-序
2.9 xaml標(biāo)記和類型轉(zhuǎn)換器
2.10 代碼隱藏
2.11 解決方案和項目
2.12 事件處理函數(shù)的參數(shù)
2.13 textbox和passwordbox控件
2.14 radiobutton、groupbox和expander
2.15 checkbox(復(fù)選框)控件
2.16 定時器和datetime類
2.17 listbox(列表框)控件
2.18 路由事件
2.19 combobox(下拉列表組合框)控件
2.20 布局面板和scrollviewer
2.21 附加屬性
2.22 樣式、樣式觸發(fā)器和資源
2.23 模板和模板觸發(fā)器
2.24 依賴屬性和控件樹
2.25 數(shù)據(jù)綁定和標(biāo)記擴展
2.26 listview等列表控件數(shù)據(jù)綁定
2.27 綁定數(shù)據(jù)源為自定義類
2.28 利用異常對輸入數(shù)據(jù)驗證
2.29 自定義驗證規(guī)則
2.30 正則表達式類regex類
2.31 菜單、command和鍵盤事件
2.32 快捷菜單
2.33 togglebutton和repeatbutton
2.34 工具條
2.35 狀態(tài)欄控件和鼠標(biāo)事件
2.36 各種wpf應(yīng)用程序
2.37 綜合例子:計算器
2.38 類庫和自定義控件
習(xí)題
第3章 wpf文本編輯器
3.1 文檔布局
3.2 richtextbox控件
3.3 command實現(xiàn)編輯功能
3.4 存取文件
3.4.1 openfiledialog和savefiledialog類
3.4.2 存取文件功能實現(xiàn)
3.5 about對話框
3.6 文本編輯器查找替換功能
3.6.1 模式對話框和非模式對話框
3.6.2 查找替換功能的實現(xiàn)
3.7 提示用戶保存已被修改的文件
3.7.1 messagebox類
3.7.2 提示保存已被修改的文件
3.8 打印和打印預(yù)覽
3.8.1 打印對話框printdialog
3.8.2 打印
3.8.3 打印預(yù)覽
3.9 多選項卡頁的文本編輯器
習(xí)題
第4章 文件和流
4.1 用流讀/寫文件
4.1.1 filestream類讀/寫字節(jié)
4.1.2 binaryreader、binarywriter類讀/寫基本數(shù)據(jù)類型
4.1.3 streamreader和streamwriter類讀/寫字符串
4.1.4 序列化
4.1.5 stream類的其他派生類
4.2 file類和fileinfo類
4.2.1 file類常用的方法
4.2.2 判斷文件是否存在
4.2.3 刪除文件
4.2.4 復(fù)制文件
4.2.5 移動文件
4.2.6 設(shè)置文件屬性
4.2.7 得到文件的屬性
4.3 directory類和directoryinfo類
4.3.1 directory類常用的方法
4.3.2 判斷目錄是否存在
4.3.3 創(chuàng)建目錄
4.3.4 刪除目錄
4.3.5 移動目錄
4.3.6 獲取當(dāng)前目錄下的所有子目錄
4.3.7 獲取當(dāng)前目錄下的所有文件
4.3.8 設(shè)置目錄屬性
4.4 例子:在指定文件夾中查找文件
4.5 例子:鼠標(biāo)拖放打開文件
4.6 例子:拆分和合并文件
習(xí)題
第5章 wpf圖形圖像編程
5.1 wpf和gdi
5.2 常用的結(jié)構(gòu)
5.2.1 point和size結(jié)構(gòu)
5.2.2 rect結(jié)構(gòu)
5.2.3 color結(jié)構(gòu)
5.3 用shape的派生類繪圖
5.3.1 公用屬性
5.3.2 畫線控件line
5.3.3 畫矩形控件rectangle
5.3.4 畫圓或橢圓控件ellipse
5.3.5 控件polyline和polygon
5.3.6 控件path
5.4 用drawing的派生類繪圖
5.4.1 繪圖基本方法
5.4.2 geometry類
5.4.3 geometrygroup類
5.4.4 combinedgeometry類
5.5 用visual類的派生類繪圖
5.5.1 繪圖基本方法
5.5.2 drawingcontext類方法
5.6 pen類和brush類
5.6.1 pen類
5.6.2 solidcolorbrush畫刷
5.6.3 lineargradientbrush畫刷
5.6.4 radialgradientbrush畫刷
5.6.5 imagebrush畫刷
5.6.6 tilebrush類
5.6.7 drawingbrush畫刷
5.6.8 visualbrush畫刷
5.7 圖形變換
5.7.1 transform派生類
5.7.2 transformgroup類
5.7.3 matrix結(jié)構(gòu)
5.7.4 matrixtransform類
5.7.5 控件的變換
5.7.6 drawing類圖形變換
5.7.7 visual類圖形變換
5.8 位圖效果
5.9 處理圖像
5.9.1 顯示圖像文件
5.9.2 將矢量圖形保存為位圖文件
5.9.3 彩色圖像變換為灰度圖像
5.9.4 處理圖像每一點顏色
5.10 圖像剪貼板功能
5.10.1 剪切復(fù)制區(qū)域選定
5.10.2 剪貼板復(fù)制功能的實現(xiàn)
5.10.3 剪貼板剪切功能的實現(xiàn)
5.10.4 剪貼板粘貼功能的實現(xiàn)
5.11 3d圖形
5.11.1 3d圖形學(xué)基礎(chǔ)
5.11.2 繪制3d圖形例子
5.11.3 分析例子xaml標(biāo)記
5.11.4 照相機和投影
5.11.5 定義3d模型形狀
5.11.6 背面剔除
5.11.7 光源
5.11.8 材質(zhì)
5.11.9 紋理
5.11.10 3d圖形變換
5.11.11 代碼繪制3d圖形
5.12 directx 3d和xna介紹
習(xí)題
第6章 多媒體
6.1 wpf動畫
6.1.1 傳統(tǒng)實現(xiàn)動畫方法
6.1.2 doubleanimation類動畫
6.1.3 其他動畫類
6.1.4 關(guān)鍵幀動畫
6.1.5 基于路徑的動畫
6.2 音頻支持
6.2.1 soundplayer類
6.2.2 soundplayeraction類
6.2.3 mediaplayer類
6.2.4 mediaelement類
6.2.5 mediatimeline類
6.3 視頻支持
6.3.1 mediaelement類
6.3.2 mediatimeline類
6.3.3 mediaplayer類
6.4 語音功能介紹
習(xí)題
第7章 進程和多線程
7.1 進程
7.1.1 process類
7.1.2 用代碼啟動和停止進程
7.1.3 得到進程信息
7.2 創(chuàng)建線程
7.2.1 線程類(thread)的屬性和方法
7.2.2 用thread類創(chuàng)建線程
7.2.3 用dispatcher類訪問控件
7.2.4 委托異步調(diào)用方法
7.2.5 異步文件讀/寫
7.2.6 單線程完成費時工作
7.2.7 backgroundworker類
7.3 線程并發(fā)、互斥和死鎖
7.3.1 多個線程同時修改共享數(shù)據(jù)可能發(fā)生錯誤
7.3.2 用lock語句實現(xiàn)互斥
7.3.3 用mutex類實現(xiàn)互斥
7.3.4 用monitor類實現(xiàn)互斥
7.4 同步生產(chǎn)者和消費者線程
7.4.1 生產(chǎn)者線程和消費者線程不同步可能發(fā)生錯誤
7.4.2 生產(chǎn)者線程和消費者線程同步的實現(xiàn)
習(xí)題
第8章 socket編程初步
8.1 tcp/ip和socket
8.1.1 tcp/ip
8.1.2 套接字
8.2 基于tcp的socket編程
8.2.1 tcpclient類
8.2.2 tcplistener類
8.2.3 服務(wù)器程序
8.2.4 客戶機程序
8.2.5 tcp的socket實例
8.2.6 異步tcp編程
8.2.7 基于tcp的p2p技術(shù)
8.3 基于udp的socket編程
8.3.1 基于udp的編程
8.3.2 用udp實現(xiàn)廣播和組播
習(xí)題
第9章 數(shù)據(jù)庫應(yīng)用程序設(shè)計
9.1 兩類數(shù)據(jù)庫應(yīng)用程序
9.2 vs2008創(chuàng)建數(shù)據(jù)庫
9.3 結(jié)構(gòu)化查詢語言sql
9.4 連接數(shù)據(jù)庫
9.5 創(chuàng)建連接數(shù)據(jù)庫應(yīng)用程序
9.5.1 oledbcommand和sqlcommand類
9.5.2 oledbdatareader和sqldatareader類
9.6 不連接數(shù)據(jù)庫應(yīng)用程序及數(shù)據(jù)綁定
9.6.1 sqldataadapter和dataset類
9.6.2 datatable、dataview和datarow類
9.6.3 數(shù)據(jù)庫表的數(shù)據(jù)綁定
9.7 學(xué)生信息管理系統(tǒng)設(shè)計
9.7.1 學(xué)生查詢窗口
9.7.2 項目數(shù)據(jù)源
9.7.3 學(xué)生登錄功能
9.7.4 管理員管理窗口
9.7.5 主從關(guān)系
9.7.6 編輯、刪除和增加記錄功能
9.7.7 將修改數(shù)據(jù)存回原數(shù)據(jù)庫
9.7.8 查詢
9.7.9 教師登分窗口
9.8 combobox綁定到數(shù)據(jù)庫表
9.9 存儲過程
9.10 linq to ado.net
9.10.1 linq to dataset
9.10.2 linq to sql
習(xí)題
第10章 可擴展標(biāo)記語言
10.1 xml基本概念
10.1.1 sgml
10.1.2 xml
10.1.3 xml的文檔格式
10.1.4 xpath表示xml文檔路徑
10.2 xml文檔顯示
10.2.1 定義xml文檔顯示格式
10.2.2 xml文件轉(zhuǎn)換為html文件
10.2.3 treeview控件和xml數(shù)據(jù)綁定
10.3 查詢xml文檔
10.3.1 xmltextreader類查詢xml
10.3.2 xmldocument類查詢xml
10.3.3 xpathnavigator類查詢xml
10.3.4 xdocument和linq to xml
10.4 編輯xml文檔
10.4.1 xmltextwriter類寫xml文檔
10.4.2 xmldocument類編輯xml文檔
10.4.3 xdocument編輯xml文檔
10.5 xml架構(gòu)
10.5.1 dtd或xml schema定義xml架構(gòu)
10.5.2 用xml schema驗證xml架構(gòu)
10.6 數(shù)據(jù)庫和xml
習(xí)題
第11章 web服務(wù)和wcf基礎(chǔ)
11.1 web服務(wù)和wcf的概念
11.1.1 web服務(wù)的概念和用途
11.1.2 web服務(wù)的局限
11.1.3 wcf技術(shù)
11.1.4 wcf基本結(jié)構(gòu)
11.2 和web服務(wù)兼容的wcf服務(wù)
11.2.1 建立web服務(wù)
11.2.2 wsdl
11.2.3 配置文件web.config
11.2.4 建立客戶端程序
11.3 其他宿主的wcf服務(wù)
11.3.1 建立wcf服務(wù)
11.3.2 建立客戶端程序
11.3.3 雙工協(xié)定
11.4 使用web服務(wù)的例子
11.4.1 使用wcf服務(wù)返回數(shù)據(jù)庫表
11.4.2 用web服務(wù)傳送圖形文件
習(xí)題
第12章 windows form編程
12.1 winform和wpf的不同點
12.2 winform控件編程基礎(chǔ)
12.2.1 最簡單的winform程序
12.2.2 用vs2008創(chuàng)建winform程序
12.2.3 winform和wpf常用控件異同
12.2.4 菜單控件menustrip
12.2.5 工具條控件toolstrip
12.2.6 狀態(tài)欄控件statusstrip
12.3 文本編輯器
12.3.1 richtextbox控件
12.3.2 多文檔文本編輯器
12.4 gdi圖形圖像編程
12.4.1 畫筆pen類和畫刷類
12.4.2 使用graphics類
12.4.3 窗體的paint事件
12.4.4 bitmap類和picturebox控件
12.5 數(shù)據(jù)庫
12.5.1 bindingsource組件
12.5.2 bindingnavigator控件 309
12.5.3 學(xué)生信息管理系統(tǒng)設(shè)計
習(xí)題
參考文獻
(1)通用語言規(guī)范(Common Language Specification,CLS)。.NET系統(tǒng)包括C#、C++、VB、J#,它們都遵守通用語言規(guī)范。任何程序設(shè)計語言只要遵守通用語言規(guī)范,其源程序都可編譯為相同的中間語言代碼,由CLR負責(zé)執(zhí)行,這樣的代碼叫托管代碼。只要為其他操作系統(tǒng)編制相應(yīng)的CLR,中間語言代碼也可在其他系統(tǒng)中運行。
(2)自動內(nèi)存管理。CLR內(nèi)建垃圾收集器,當(dāng)堆中實例的生命周期結(jié)束時,垃圾收集器負責(zé)收回不被使用的實例占用的內(nèi)存空間。也就是說,CLR具有自動內(nèi)存管理功能。而c和c++語言,用語句在堆中建立的實例,必須用語句釋放實例占用的內(nèi)存空間。
(3)交叉語言處理。由于任何遵守通用語言規(guī)范的程序設(shè)計語言源程序,都可編譯為相同的中間語言代碼,不同語言設(shè)計的組件可以互相通用,可以從其他語言定義的類派生出本語言的新類。由于中間語言代碼由CLR負責(zé)執(zhí)行,因此異常處理方法是一致的,這在調(diào)試一種語言調(diào)用另一種語言的子程序時,顯得特別方便。