C#應(yīng)用程序設(shè)計(jì)教程(第2版)
定 價(jià):34 元
叢書名:21世紀(jì)高等學(xué)校計(jì)算機(jī)規(guī)劃教材
- 作者:耿肇英 ,等 著
- 出版時(shí)間:2010/11/1
- ISBN:9787115235275
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312C
- 頁碼:312
- 紙張:膠版紙
- 版次:2
- 開本:16開
《C#應(yīng)用程序設(shè)計(jì)教程(第2版)》介紹C#客戶端應(yīng)用程序設(shè)計(jì)技術(shù),內(nèi)容包括:C#語言基礎(chǔ)、wpf和winform應(yīng)用程序開發(fā)、圖形和圖像編程、文件讀/寫和管理、多線程應(yīng)用、socket編程、ado.net數(shù)據(jù)庫應(yīng)用程序設(shè)計(jì)等!禖#應(yīng)用程序設(shè)計(jì)教程(第2版)》采用實(shí)例教學(xué)法,在講清基本知識(shí)點(diǎn)的基礎(chǔ)上,盡量使用短小精悍的實(shí)例加以說明,使內(nèi)容容易理解!禖#應(yīng)用程序設(shè)計(jì)教程(第2版)》使用微軟免費(fèi)的速成版集成開發(fā)環(huán)境。《C#應(yīng)用程序設(shè)計(jì)教程(第2版)》所有例子在.net framework 3.5下調(diào)試通過,大部分例子使用wpf控件。
《C#應(yīng)用程序設(shè)計(jì)教程(第2版)》可作為高等院!懊嫦?qū)ο體indows程序設(shè)計(jì)”教材,或作為學(xué)習(xí)使用C#語言開發(fā)應(yīng)用程序的培訓(xùn)班教材,也適合使用C#語言開發(fā)項(xiàng)目的程序員參考。
計(jì)算機(jī)專業(yè)開設(shè)的第一門高級(jí)程序設(shè)計(jì)語言課程一般是C或C++,學(xué)習(xí)高級(jí)程序設(shè)計(jì)語言基本知識(shí),編寫控制臺(tái)或DOS應(yīng)用程序。在此之后應(yīng)進(jìn)一步學(xué)習(xí)面向?qū)ο骔indows應(yīng)用程序設(shè)計(jì),一方面為操作系統(tǒng)、數(shù)據(jù)庫、計(jì)算機(jī)網(wǎng)絡(luò)、計(jì)算機(jī)圖形學(xué)等后續(xù)課程提供程序設(shè)計(jì)基礎(chǔ),另一方面也盡早為學(xué)生課外實(shí)踐提供一個(gè)實(shí)用工具。本課程是為上述目的而設(shè)置的,是計(jì)算機(jī)導(dǎo)論和C或C++課程的后續(xù)課程。單純講授面向?qū)ο罄碚摰男Ч⒉缓,結(jié)合某個(gè)面向?qū)ο笳Z言的方法會(huì)有更好的教學(xué)效果。本書用c#語言介紹面向?qū)ο蟪绦蛟O(shè)計(jì)概念。
學(xué)習(xí)面向?qū)ο骔indows應(yīng)用程序設(shè)計(jì)應(yīng)采用廣泛使用又適合教學(xué)的工具和語言。考慮到Visual C++學(xué)習(xí)難度較大,Visual Basic(以下簡(jiǎn)稱VB)雖然易學(xué),但還要耗費(fèi)很緊張的學(xué)時(shí)學(xué)習(xí)一門新語言,是得不償失的。而c撐語言是為.NET架框量身定做的新一代面向?qū)ο蟮恼Z言,語法和C++非常相似,但比C++簡(jiǎn)單,使用組件編程,和VB一樣容易使用。在第一門高級(jí)程序設(shè)計(jì)語言課程是C或C++的情況下,學(xué)習(xí)c#語言可節(jié)約很多學(xué)時(shí),對(duì)于根本沒有接觸過VB的大學(xué)生,把c#作為學(xué)習(xí)面向?qū)ο骔indows應(yīng)用程序設(shè)計(jì)語言是合適的。當(dāng)前用C#語言開發(fā).NET系統(tǒng)的商用軟件較多,這也為學(xué)生畢業(yè)后工作打下較好基礎(chǔ)。
第1章 C#語言基礎(chǔ)
1.1 C#語言特點(diǎn)
1.2 編寫控制臺(tái)應(yīng)用程序
1.3 類的基本概念
1.3.1 類的基本概念
1.3.2 類成員的存取控制
1.3.3 類的對(duì)象
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 簡(jiǎn)單類型
1.4.5 枚舉類型
1.4.6 值類型的初值和默認(rèn)構(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 運(yùn)算符
1.5.1 運(yùn)算符分類
1.5.2 溢出檢查操作符checked和unchecked
1.5.3 new運(yùn)算符
1.6 程序控制語句
1.6.1 c#語言語句和c語言語句的不同點(diǎn)
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#語言類繼承特點(diǎn)
1.8 類的成員
1.8.1 類的成員類型
1.8.2 類成員訪問修飾符
1.9 類的字段和屬性
1.9.1 靜態(tài)字段、實(shí)例字段、常量和只讀字段
1.9.2 屬性
1.9.3 對(duì)象初始化器
1.9.4 自動(dòng)屬性
1.9.5 匿名類型
1.10 類的方法
1.10.1 方法的聲明
1.10.2 方法中參數(shù)的傳遞
1.10.3 靜態(tài)方法和實(shí)例方法
1.10.4 方法的重載
1.10.5 操作符重載
1.10.6 this關(guān)鍵字
1.10.7 擴(kuò)展方法
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 類對(duì)接口的實(shí)現(xiàn)
1.18 委托類型
1.19 事件
1.19.1 事件驅(qū)動(dòng)
1.19.2 事件的聲明
1.19.3 事件的預(yù)訂和撤銷
1.19.4 匿名方法
1.19.5 lambda表達(dá)式
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 解決方案和項(xiàng)目
2.12 事件處理函數(shù)的參數(shù)
2.13 textbox和passwordbox控件
2.14 radiobutton、groupbox和expander
2.15 checkbox(復(fù)選框)控件
2.16 定時(shí)器和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)記擴(kuò)展
2.26 listview等列表控件數(shù)據(jù)綁定
2.27 綁定數(shù)據(jù)源為自定義類
2.28 利用異常對(duì)輸入數(shù)據(jù)驗(yàn)證
2.29 自定義驗(yàn)證規(guī)則
2.30 正則表達(dá)式類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 綜合例子:計(jì)算器
2.38 類庫和自定義控件
習(xí)題
第3章 wpf文本編輯器
3.1 文檔布局
3.2 richtextbox控件
3.3 command實(shí)現(xiàn)編輯功能
3.4 存取文件
3.4.1 openfiledialog和savefiledialog類
3.4.2 存取文件功能實(shí)現(xiàn)
3.5 about對(duì)話框
3.6 文本編輯器查找替換功能
3.6.1 模式對(duì)話框和非模式對(duì)話框
3.6.2 查找替換功能的實(shí)現(xiàn)
3.7 提示用戶保存已被修改的文件
3.7.1 messagebox類
3.7.2 提示保存已被修改的文件
3.8 打印和打印預(yù)覽
3.8.1 打印對(duì)話框printdialog
3.8.2 打印
3.8.3 打印預(yù)覽
3.9 多選項(xiàng)卡頁的文本編輯器
習(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 移動(dòng)文件
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 移動(dòng)目錄
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 處理圖像每一點(diǎn)顏色
5.10 圖像剪貼板功能
5.10.1 剪切復(fù)制區(qū)域選定
5.10.2 剪貼板復(fù)制功能的實(shí)現(xiàn)
5.10.3 剪貼板剪切功能的實(shí)現(xiàn)
5.10.4 剪貼板粘貼功能的實(shí)現(xiàn)
5.11 3d圖形
5.11.1 3d圖形學(xué)基礎(chǔ)
5.11.2 繪制3d圖形例子
5.11.3 分析例子xaml標(biāo)記
5.11.4 照相機(jī)和投影
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動(dòng)畫
6.1.1 傳統(tǒng)實(shí)現(xiàn)動(dòng)畫方法
6.1.2 doubleanimation類動(dòng)畫
6.1.3 其他動(dòng)畫類
6.1.4 關(guān)鍵幀動(dòng)畫
6.1.5 基于路徑的動(dòng)畫
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章 進(jìn)程和多線程
7.1 進(jìn)程
7.1.1 process類
7.1.2 用代碼啟動(dòng)和停止進(jìn)程
7.1.3 得到進(jìn)程信息
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 單線程完成費(fèi)時(shí)工作
7.2.7 backgroundworker類
7.3 線程并發(fā)、互斥和死鎖
7.3.1 多個(gè)線程同時(shí)修改共享數(shù)據(jù)可能發(fā)生錯(cuò)誤
7.3.2 用lock語句實(shí)現(xiàn)互斥
7.3.3 用mutex類實(shí)現(xiàn)互斥
7.3.4 用monitor類實(shí)現(xiàn)互斥
7.4 同步生產(chǎn)者和消費(fèi)者線程
7.4.1 生產(chǎn)者線程和消費(fèi)者線程不同步可能發(fā)生錯(cuò)誤
7.4.2 生產(chǎn)者線程和消費(fèi)者線程同步的實(shí)現(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 客戶機(jī)程序
8.2.5 tcp的socket實(shí)例
8.2.6 異步tcp編程
8.2.7 基于tcp的p2p技術(shù)
8.3 基于udp的socket編程
8.3.1 基于udp的編程
8.3.2 用udp實(shí)現(xiàn)廣播和組播
習(xí)題
第9章 數(shù)據(jù)庫應(yīng)用程序設(shè)計(jì)
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è)計(jì)
9.7.1 學(xué)生查詢窗口
9.7.2 項(xiàng)目數(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 存儲(chǔ)過程
9.10 linq to ado.net
9.10.1 linq to dataset
9.10.2 linq to sql
習(xí)題
第10章 可擴(kuò)展標(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驗(yàn)證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ù)返回?cái)?shù)據(jù)庫表
11.4.2 用web服務(wù)傳送圖形文件
習(xí)題
第12章 windows form編程
12.1 winform和wpf的不同點(diǎn)
12.2 winform控件編程基礎(chǔ)
12.2.1 最簡(jiǎn)單的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è)計(jì)
習(xí)題
參考文獻(xiàn)
(1)通用語言規(guī)范(Common Language Specification,CLS)。.NET系統(tǒng)包括C#、C++、VB、J#,它們都遵守通用語言規(guī)范。任何程序設(shè)計(jì)語言只要遵守通用語言規(guī)范,其源程序都可編譯為相同的中間語言代碼,由CLR負(fù)責(zé)執(zhí)行,這樣的代碼叫托管代碼。只要為其他操作系統(tǒng)編制相應(yīng)的CLR,中間語言代碼也可在其他系統(tǒng)中運(yùn)行。
(2)自動(dòng)內(nèi)存管理。CLR內(nèi)建垃圾收集器,當(dāng)堆中實(shí)例的生命周期結(jié)束時(shí),垃圾收集器負(fù)責(zé)收回不被使用的實(shí)例占用的內(nèi)存空間。也就是說,CLR具有自動(dòng)內(nèi)存管理功能。而c和c++語言,用語句在堆中建立的實(shí)例,必須用語句釋放實(shí)例占用的內(nèi)存空間。
(3)交叉語言處理。由于任何遵守通用語言規(guī)范的程序設(shè)計(jì)語言源程序,都可編譯為相同的中間語言代碼,不同語言設(shè)計(jì)的組件可以互相通用,可以從其他語言定義的類派生出本語言的新類。由于中間語言代碼由CLR負(fù)責(zé)執(zhí)行,因此異常處理方法是一致的,這在調(diào)試一種語言調(diào)用另一種語言的子程序時(shí),顯得特別方便。