版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
本文由junlongzi貢獻pdf文檔可能在WAP端瀏覽體驗不佳。建議您優(yōu)先選擇TXT,或下載源文件到本機查看。目刖錄言 錯誤!未定義書簽。初識VisualC#2008 1VisualC#2008簡介 I1.1.1關(guān)于VisualC#200811.1.2VisualC#2008的新增功能1安裝VisualStudio2008 2初次使用VisualC#2008 7 VisualC#2008開發(fā)環(huán)境界面組成 91.4.1創(chuàng)建Windows應(yīng)用程序……91.4.2定制開發(fā)環(huán)境……111.4.3開發(fā)環(huán)境界面組成 13一個簡單的Windows應(yīng)用程序 161.5.1界面設(shè)計 171.5.2屬性設(shè)置171.5.3編寫代碼181.5.4運行程序 19小結(jié)20C#語言基礎(chǔ)21第1章第2章2.1數(shù)據(jù)類型……212.2標(biāo)識符與命名空間……222.2.1關(guān)鍵字與標(biāo)識符……222.2.2命名空間……222.3常量與變量……232.3.1常量……232.3.2變量……232.4運算符與表達式……242.4.1算術(shù)運算符……242.4.2字符串連接運算符……252.4.3關(guān)系運算符……252.4.4邏輯運算符……252.4.5賦值運算符……262.4.6位運算符……262.4.7自增和自減運算符……26PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建2.4.8其他運算符……272.4.9運算符的優(yōu)先級和結(jié)合順序……282.5命名規(guī)則……282.6控制結(jié)構(gòu)302.6.1順序結(jié)構(gòu)302.6.2選擇結(jié)構(gòu) 302.6.3循環(huán)結(jié)構(gòu)……342.6.4跳轉(zhuǎn)語句……362.7數(shù)組……372.7.1幾個相關(guān)的概念……372.7.2數(shù)組的聲明……382.7.3創(chuàng)建數(shù)組實例……402.7.4數(shù)組的初始化……402.7.5訪問單個數(shù)組元素……412.7.6遍歷數(shù)組……422.7.7數(shù)組的方法和屬性……422.7.8數(shù)組的復(fù)制432.8方法442.8.1方法的聲明452.8.2方法的調(diào)用462.8.3參數(shù)傳遞462.9類與對象482.9.1類482.9.2對象502.10文件操作512.10.1文件操作的類512.10.2Directory類512.10.3DirectoryInfo類532.10.4File類 54 2.10.5Fileinfo類 542.10.6二進制文件的讀寫 552.10.7讀寫文本文件562.11小結(jié)58第3章ADO.NET簡介59ADO.NET對象模型 593.2.NET數(shù)據(jù)提供程序 593.2.1.NET數(shù)據(jù)提供程序概述 60 3.2.2SQLServer.NET數(shù)據(jù)提供程序 61PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建第4章.3OLEDB.NET數(shù)據(jù)提供程序……613.2.4選擇.NET數(shù)據(jù)提供程序……62數(shù)據(jù)集……623.3.1數(shù)據(jù)集概述……623.3.2數(shù)據(jù)集的組成結(jié)構(gòu)……633.3.3數(shù)據(jù)集的核心對象 64SQLServer.NET數(shù)據(jù)提供程序的相關(guān)類 64 3.4.1SqlConnection類 643.4.2DataSet類 663.4.3SqlDataAdapter類 673.4.4SqlCommand類與SqlDataReader類 68DataGridView控件 683.5.1DataGridView控件概述683.5.2使用DataGridView控件69小結(jié)70學(xué)生選課系統(tǒng)的分析與設(shè)計71學(xué)生選課系統(tǒng)簡介……714.1.1學(xué)生選課系統(tǒng)的功能模塊……714.1.2學(xué)生選課系統(tǒng)模塊結(jié)構(gòu)……734.1.3學(xué)生選課系統(tǒng)體系結(jié)構(gòu)設(shè)計……734.1.4如何介紹學(xué)生選課系統(tǒng)……754.2中間件設(shè)計……754.3數(shù)據(jù)庫設(shè)計……764.3.1數(shù)據(jù)表結(jié)構(gòu)……764.3.2創(chuàng)建數(shù)據(jù)庫……784.3.3創(chuàng)建關(guān)系圖……854.4小結(jié)……92第5章設(shè)計登錄模塊……93制作個性化圖片……935.1.1制作登錄圖片……935.1.2制作系統(tǒng)圖標(biāo)……935.2創(chuàng)建新項目……945.3設(shè)計登錄界面……955.3.1添加控件……955.3.2設(shè)置控件屬性……955.4使用數(shù)據(jù)集實現(xiàn)登錄……965.4.1編寫代碼……96PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建5.75.8第6章運行程序……101使用自定義方法實現(xiàn)登錄……1015.5.1更新CDataBase類代碼……1025.5.2更新登錄代碼……103使用DataReader類實現(xiàn)登錄……105登錄學(xué)生選課系統(tǒng)……107小結(jié)……108設(shè)計數(shù)據(jù)庫配置模塊……109修改登錄界面……1096.1.1添加控件……1096.1.2設(shè)置新添加控件的屬性……1106.2修改和編寫相關(guān)代碼……111621修改CDataBase類的代碼……1116.2.2編寫登錄窗體代碼……1116.3配置數(shù)據(jù)庫……1166.4小結(jié)……118設(shè)計學(xué)生選課系統(tǒng)主窗體 119第7章7.1主窗體的界面設(shè)計 1197.1.1添加控件1197.1.2界面對象屬性設(shè)置1207.2添加子系統(tǒng)窗體……1217.3主窗體的代碼……1217.3.1窗體初始化代碼……1217.3.2進入子系統(tǒng)的代碼……1227.3.3切換系統(tǒng)用戶代碼……1267.3.4退出系統(tǒng)代碼……1287.4主窗體運行情況……1297.5小結(jié)……130第8章8.1設(shè)計系統(tǒng)用戶管理模塊 131用戶管理界面設(shè)計……1318.1.1添加控件……1318.1.2設(shè)置屬性……1328.2編寫用戶管理代碼……1338.2.1編寫數(shù)據(jù)庫訪問方法……1338.2.2編寫用戶管理窗體代碼 1348.3注冊與刪除用戶 1408.4小結(jié) 142PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建第9章使用MD5加密用戶密碼……1439.1MD5算法簡介 1439.2編寫加密數(shù)據(jù)的方法 1449.3修改相關(guān)代碼……1459.3.1修改用戶管理代碼……1459.3.2注冊一個新用戶……1479.3.3修改登錄代碼……1489.4加密后的運行情況……1509.5小結(jié)……152第10章設(shè)計個人信息管理模塊……15310.1設(shè)計用戶界面15310.2屬性設(shè)置 15310.3編寫代碼15510.3.1引入命名空間與定義公共變量……15510.3.2窗體初始化代碼……15510.3.3設(shè)置和修改個人信息代碼15610.3.4修改密碼代碼15810.4管理個人信息 16010.4.1設(shè)置和修改個人信息……16010.4.2修改我的密碼……16310.5小結(jié)……164第H章11.1設(shè)計找回用戶密碼模塊……165修改登錄模塊……165H.1.1修改登錄界面……16511.1.2編寫相關(guān)代碼……16611.2設(shè)計找回用戶密碼窗體……16611.2.1用戶界面設(shè)計……16611.2.2屬性設(shè)置……16711.2.3編寫代碼16811.3首次登錄要求設(shè)置個人信息17211.3.1實現(xiàn)原理 17211.3.2修改代碼 17211.4找回用戶密碼 17711.5小結(jié) 180第12章設(shè)計學(xué)生信息管理模塊……181界面設(shè)計……181PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建屬性設(shè)置18112.3編寫代碼18312.3.1公共方法18312.3.2窗體代碼18512.3.3數(shù)據(jù)控件代碼18612.3.4【添加】按鈕代碼18612.3.5【修改】按鈕代碼……18912.3.6【刪除】按鈕代碼……19012.3.7【查詢條件】組合框代碼……19112.3.8【查詢】按鈕代碼 19212.3.9【全部】按鈕代碼19312.3.10【退出】按鈕代碼……19412.4管理學(xué)生信息……19412.5小結(jié)……198第13章設(shè)計課程信息管理模塊……199界面設(shè)計19913.2屬性設(shè)置19913.3編寫代碼20113.3.1公共方法20113.3.2窗體代碼20313.3.3數(shù)據(jù)控件代碼20413.3.4【添加】按鈕代碼20413.3.5【修改】按鈕代碼20713.3.6【刪除】按鈕代碼20813.3.7【查詢條件】組合框代碼……20913.3.8【查詢】按鈕代碼……20913.3.9【全部】按鈕代碼……21113.3.10【退出】按鈕代碼21113.4管理課程信息21213.5小結(jié)212第14章設(shè)計選課信息管理模塊……21314.1界面設(shè)計與屬性設(shè)置……21314.1.1窗體和選項卡……21314.1.2【我的選課信息】頁面……21414.1.3【選課信息管理】頁面……21514.1.4【選課幫助】頁面……21714.2編寫代碼218PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建14.2.1公共代碼……21814.2.2【我的選課信息】頁面代碼……22214.2.3【選課信息管理】頁面代碼……22414.3管理選課信息……22914.4小結(jié)……234第15章15.1數(shù)據(jù)庫的備份與恢更……235用戶界面設(shè)計 23515.1.1窗體 23515.1.2對話框 23615.2編寫代碼……23715.2.1命名空間與公共變量……23715.2.2數(shù)據(jù)庫備份代碼……23715.2.3數(shù)據(jù)庫恢復(fù)代碼 23915.3備份與恢復(fù)數(shù)據(jù)庫 24115.3.1備份數(shù)據(jù)庫 24115.3.2恢復(fù)數(shù)據(jù)庫……24315.4小結(jié)……244設(shè)計系統(tǒng)幫助模塊……245第16章設(shè)計界面……245設(shè)置屬性……246編寫代碼……24716.3.1鏈接代碼……24716.3.2【查看系統(tǒng)幫助信息】按鈕代碼……24716.3.3【關(guān)閉】按鈕代碼……24816.4使用系統(tǒng)幫助 24816.5小結(jié) 250第17章17.417.5部署學(xué)生選課系統(tǒng)……251設(shè)置系統(tǒng)圖標(biāo)……251生成安裝文件……252安裝學(xué)生選課系統(tǒng)……258啟動學(xué)生選課系統(tǒng) 261創(chuàng)建數(shù)據(jù)庫 26117.5.1安裝SQLServer2000 26217.5.2附加系統(tǒng)數(shù)據(jù)庫……26217.6運行系統(tǒng)……26417.7小結(jié)……264實現(xiàn)Access版的學(xué)生選課系統(tǒng)……265第18章PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建18.1創(chuàng)建數(shù)據(jù)庫……26518.2創(chuàng)建數(shù)據(jù)表和關(guān)系……26618.2.1創(chuàng)建數(shù)據(jù)表……26618.2.2創(chuàng)建關(guān)系……27018.3實現(xiàn)Access版的學(xué)生選課系統(tǒng)27218.3.1修改CDataBase類 27318.3.2修改登錄窗體 27418.3.3修改用戶管理模塊代碼 27618.3.4修改個人信息管理模塊代碼……27718.3.5修改找回用戶密碼模塊代碼……27818.3.6修改數(shù)據(jù)庫備份與恢復(fù)模塊……28018.3.7運行情況……28318.4小結(jié)……284綜合練習(xí)……285附錄……錯誤!未定義書簽。媒體播放器……錯誤!未定義書簽。記事本……錯誤!未定義書簽。IP修改器……錯誤!未定義書簽。附錄1附錄2附錄3參考資料……錯誤!未定義書簽。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建第1章初識VisualC#2008本章首先介紹了VisualC#2008的新特性和VisualStudio2008安裝步驟,VisualC#2008是一個強大的開發(fā)工具,它的許多相對以前版本的新功能和新特點使軟件開發(fā)變得更加方便、快捷,從而大大提高了軟件的開發(fā)效率。然后介紹了使用VisualC#2008創(chuàng)建一個Windows應(yīng)用程序的基本方法,在此基礎(chǔ)上,介紹了如何定制VisualC#2008的個性化開發(fā)環(huán)境。最后開發(fā)了一個簡單的Windows應(yīng)用程序,并詳細介紹了VisualC#2008開發(fā)環(huán)境的界面組成。VisualC#2008簡介C#語言從C/C++語言演變而來,是一種為了高效的生成類型安全、面向?qū)ο蟮膽?yīng)用程序而設(shè)計的語言。C#允許開發(fā)人員開發(fā)面向Windows,Web和移動設(shè)備等類型的程序。與所有其它面向Microsoft.NETFramework的語言一樣,使用C#編寫的程序都具有安全性和語言互操作性方面的優(yōu)點。關(guān)于VisualC#2008VisualC#2008是微軟公司推出的全新IDE(IntegratedDevelopmentEnvironment.集成開發(fā)環(huán)境)VisualStudio2008的重:要成員之一,它加入了很多的新特性與功能。VisualC#2008極大地增強了Web的設(shè)計功能,它支持基于網(wǎng)絡(luò)應(yīng)用的開發(fā),也可以開發(fā)基于VisualC#2008的ASP.NET程序。VisualC#2008進一步適應(yīng)了電子商務(wù)時代發(fā)展的需要,它必將更廣泛地應(yīng)用于B/S結(jié)構(gòu)和多層結(jié)構(gòu)。VisualC#2008是當(dāng)今最流行的軟件開發(fā)工具之一,2008年2月正式推出,Visual于是C#2005的升級版,同時C#語言版本也由C#2.0升級到了C#3.0o由于它具有簡單易學(xué)、開發(fā)效率高、開發(fā)周期短等優(yōu)勢,使得它深受廣大軟件開發(fā)人員的喜愛。VisualC#2008的新增功能VisualC#2008中使用的C#語言版本升級到了C#3.0,微軟在C#3.0語言、C#3.0編譯器和C#3.0集成開發(fā)環(huán)境(IDE)等方面都融入了許多新的元素和功能。下面簡單的介紹一下這些新增的元素和功能。C#3.0語言C#3.0語言和編譯器引入了多種新的語言功能,這些新的語言構(gòu)造可以分別用在各種上下文中,并且可以共同完成語言集成查詢(LanguageIntegratedQuery、LINQ)。LINQ是最一種優(yōu)秀的查詢語言,在編寫查詢語句時,可以使用熟悉的關(guān)鍵字和操作符在強類型的對象集合上編寫查詢。下面列出了C#3.0新增的一些語言功能:(1)隱式類型的本地變量和數(shù)組:在C#3.0中,與本地變量一起使用時,var關(guān)鍵字指示編譯器根據(jù)初始化語句右側(cè)的表達式推斷變量或數(shù)組元素的類型。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建(2)對象初始值設(shè)定項:C#3.0支持無需顯式調(diào)用構(gòu)造函數(shù)即可進行對象初始化。(3)集合初始值設(shè)定項:C#3.0支持使用初始化列表而不是對Add()或其他方法的特定調(diào)用來初始化集合。(4)擴展方法:使用靜態(tài)方法擴展現(xiàn)有類,這些靜態(tài)方法可以通過實例方法語法進行調(diào)用。(5)匿名類型:C#3.0允許動態(tài)創(chuàng)建可以添加到集合中,并且可以使用var進行訪問的未命名結(jié)構(gòu)化類型。(6)Lambda表達式:C#3.0支持帶有可綁定到委托或表達式樹的輸入?yún)?shù)的內(nèi)聯(lián)表達式。(7)查詢關(guān)鍵字:查詢關(guān)鍵字是用來指定查詢表達式中子句的關(guān)鍵字,它們用來實現(xiàn)C#3.0中新增的LINQ功能,這些查詢關(guān)鍵字主要有from子句、where子句(可選)、排序子句(可選)、join子句(可選)、select或group子句、into子句(可選)。(8)自動實現(xiàn)的屬性:C#3.0支持使用簡化的語法聲明屬性。(9)分部方法定義:在C#3.0中,分部類型可以包含分部方法。3.0IDE微軟在擴展C#3.0語言功能和編譯器功能的同時,對C#3.0的集成開發(fā)環(huán)境(IDE)也做了較大的修改,新增的一些功能如下:(1)多目標(biāo):使用VisualStudio2008可以進行基于多個.NETFramework版本的開發(fā),VisualStudio2(X)8同時支持.NETFramework2.0、3.0和3.5幾個版本。在不同的版本下它可以自動的框架特性工具箱、項目類型、引用和智能提示等過濾功能。(2)新的項目類型和模板:3.0為WindowsPresentationFoundationWPF)WindowsC#(、CommunicationFoundation(WCF)和Web項目提供了多個新的項目模板。(3)C#3.0的IntelliSense支持:對VisualC#2008代碼編輯器提供了語句結(jié)束和快速信息功能,以支持C#3.0中隱式類型的局部變量、查詢表達式、擴展方法、對象/集合初始值設(shè)定項、匿名類型、Lambda表達式和分部方法等新語言構(gòu)造。(4)對C#3.0的重構(gòu)支持:C#3.0IDE為了支持查詢表達式、擴展方法、Lambda表達式等新語言構(gòu)造,更新了重構(gòu)功能“重命名”“簽名更改”“提取方法”和“將局部變、、量提升為參數(shù)”。此外,重構(gòu)功能還提供了新的選項和警告,以便幫助防止由于重構(gòu)操作而造成意外的后果。(5)設(shè)置代碼格式:代碼編輯器為包括查詢表達式在內(nèi)的多個新C#3.0語言構(gòu)造提供了格式設(shè)置選項。(6)組織using語句:VisualC#2008代碼編輯器提供了對using和extern聲明進行排序和移除的簡便方式。安裝VisualStudio2008VisualC#2008是VisualStudio2008開發(fā)工具集的成員之一,用于生成開發(fā)Windows應(yīng)用程序、Web應(yīng)用程序等。下面介紹VisualStudio2008的安裝過程。2PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建第1章初識VisualC#2008(1)將VisualStudio2008安裝盤插入光驅(qū)后,光盤將自動運行(如未自動播放則可雙擊光盤運行,右擊光盤圖標(biāo)選擇【自動播放】菜單項運行)運行后出現(xiàn),[VisualStudio2008安裝程序】界面如圖1-1所示。圖1-1VisualStudio2008安裝程序(2)單擊第一項【安裝VisualStudio2008】,安裝程序?qū)⑦M行文件的復(fù)制,復(fù)制完畢后,安裝程序需要加載安裝組件。如圖1-2所示。圖1-2加載安裝組件(4)安裝組件加載完畢后,安裝程序?qū)⑦M入如圖1-3所示的界面,詢問用戶是否向MicrosoftCorporation發(fā)送安裝體驗信息,在此可以保留默認(rèn)的選擇(即不發(fā)送安裝體驗信3PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建息),直接單擊【F一步】按鈕。圖1-3歡迎使用安裝程序(5)單擊【下一步】按鈕后,出現(xiàn)的是如圖14所示的許可條款界面,用戶必須接受這些條款才能進行VisualStudio2008的安裝。圖14許可條款(6)選擇【我已閱讀并接受許可條款】單選按鈕,輸入產(chǎn)品序列號。然后單擊【下一步】按鈕,出現(xiàn)如圖1-5所示的安裝選項界面。選擇要安裝的功能為【自定義】方式,并可更改安裝的路徑。4PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建第1章初識VisualC#2008圖1-5安裝選項(7)選擇好安裝方式和安裝的目標(biāo)文件夾后,單擊【下一步】按鈕,進入如圖1-6所示的頁面。在此,用戶可以選擇自己所要安裝的功能組件,可以按照默認(rèn)情況全部安裝,也可以只安裝C#語言工具,以節(jié)省安裝時間和磁盤空間。圖1-6復(fù)制文件(8)選擇好要安裝的功能后,單擊【安裝】按鈕開始安裝。安裝程序就開始將文件復(fù)制到硬盤上,如圖1-7所示。說明:如果需要對前面的設(shè)置進行修改,可以單擊【上一步】按鈕返回之前的界面進5PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建行修改,確認(rèn)無誤后再單擊【安裝】按鈕。圖1-7復(fù)制文件(9)文件復(fù)制完畢后,則VisualStudio2008已經(jīng)安裝完成,這時出現(xiàn)的界面如圖1-8所示。圖1-8安裝完成說明:安裝完畢后,系統(tǒng)可能要求重新啟動計算機,這時,用戶需要重新啟動計算機后方能正常的使用VisualStudio2008。 (10)單擊【完成】按鈕、則出現(xiàn)如圖1-9所示的界面,與圖1-1對比,可以看出安裝完VisualStudio2008后,第二、三項“安裝產(chǎn)品文檔”和“檢查ServiceRelease"變成可點擊狀態(tài)。其中第二項用于安裝MSDNLibrary,包含VisualStudio2008的幫助文件。第6PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建第1章初識VisualC#2008三項用于檢查最新的ServiceReleaseo圖1-9VisualStudio2008安裝程序說明:安裝完VisualStudio2008后,便可以啟動VisualStudio2008并使用其開發(fā)工具編寫程序了,因此可以直接單擊【退出】按鈕,退出安裝程序。如果需要幫助文件的話,則需要安裝第二項MSDNLibrary,具體的安裝步驟按照提示進行即可,這里不再贅述。初次使用VisualC#2008VisualC#2008不僅是一個程序編輯器,它還是一個集成開發(fā)工具,集中了程序的設(shè)計、編譯、調(diào)試和運行等多種功能于一體,其中每個功能都相對獨立,具有自己的界面,下面簡單的介紹一下初次使用VisualC#2008開發(fā)環(huán)境的情況。打開VisualC#2008的方法為:【開始】單擊菜單,【程序】找到并進入選擇,【MicrosoftVisualStudio2008】菜單項,再選擇子菜單項【MicrosoftVisualStudio2008】,啟動VisualStudio2008集成開發(fā)環(huán)境。說明:如果是第一-次運行VisualStudio2008,首先會出現(xiàn)一個如圖1-10所示的【選擇默認(rèn)環(huán)境設(shè)置】對話框。圖1-10選擇默認(rèn)環(huán)境設(shè)置7PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建這里應(yīng)當(dāng)選擇“VisualC#開發(fā)設(shè)置”,然后單擊【啟動VisualStudio]按鈕。接著又會出現(xiàn)一個對話框,系統(tǒng)進行MicrosoftVisualStudio2008的環(huán)境配置,如圖1-11所示。圖1-11配置環(huán)境稍候片刻,就會出進入VisualStudio2008集成開發(fā)環(huán)境,首先出現(xiàn)的是MicrosoftVisualStudio2008的起始頁,如圖1-12所示。圖1-12MicrosoftVisualStudio2008起始頁為了便于管理自己創(chuàng)建的項目、用戶項目模板和用戶項模板,在使用VisualC#2008之前,應(yīng)當(dāng)修改一下這些文件的存放位置,其方法如下:(1)選擇VisualStudio2008開發(fā)環(huán)境的【工具】一【選項】菜單項。(2)選擇【選項】菜單項后,將彈出如圖1-13所示的【選項】對話框,在左邊的樹形視圖中選擇【項目和解決方案】,這時就可以在右邊修改項目、用戶項目模板和用戶項模板的存放位置。選擇一個適當(dāng)?shù)奈恢?,這樣可以更方便的管理這些項目,最后單擊【確定】按鈕保存設(shè)置。8PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建第1章初識VisualC#2008圖1-13【選項】對話框在【選項】對話框,還可以設(shè)置字體和顏色、設(shè)置代碼是否顯示行號以及縮進格式等,通過【選項】對話框,用戶可以定制自己的開發(fā)環(huán)境。VisualC#2008開發(fā)環(huán)境界面組成本節(jié)首先介紹使用VisualC#2008創(chuàng)建?個Windows應(yīng)用程序的方法,然后介紹了VisualC#2008開發(fā)環(huán)境界面組成。說明:眾所周知,通常的情況下,常用的窗體有Windows窗體和Web窗體兩種類型(在.NETFramework3.0及3.5中,引入了一種新的窗體類型:WPF,它類似于Windows窗體),本書的所有程序與項目均采用Windows窗體應(yīng)用程序的形式給出。Windows應(yīng)用程序即窗體應(yīng)用程序,它允許以圖形的方式進行人機交互,操作它就像操作Windows操作系統(tǒng)那樣,這是很容易被讀者所接受的。創(chuàng)建Windows應(yīng)用程序開發(fā)一個VisualC#2008應(yīng)用程序的第一個步驟便是創(chuàng)建一個新的項目,創(chuàng)建新項目的方法有多種:在【起始頁】頁面上的【最近的項目】板塊中,單擊與【創(chuàng)建:】同行的【項目(P)…】(如圖1-14所示);使用工具欄中的快捷按鈕;或者選擇【文件】一【新建項目】菜單項,均可以創(chuàng)建一個新的VisualC#2008項目。圖1-14最近的項目創(chuàng)建新項目時,首先出現(xiàn)的是如圖1-15所示的【新建項目】對話框,在[VisualStudio9PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建已安裝的模板】中保留默認(rèn)的選擇【W(wǎng)indows窗體應(yīng)用程序】,然后在項目名稱文本框中輸入該項目的名稱,這里可以將其命名為“Welcome”(稍后將使用該項目開發(fā)一個簡單的Windows應(yīng)用程序),如圖1-15所示。圖1-15新建項目接下來單擊【新建項目】對話框中的【確定】按鈕,則“Welcome”項目創(chuàng)建成功,并跳轉(zhuǎn)至【Forml.cs[設(shè)計]]視圖,該視圖中出現(xiàn)一個名為"Forml”的Windows窗體,如圖1-16所示。圖1-16新創(chuàng)建的“Welcome”項目10PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建第1章初識VisualC#2008定制開發(fā)環(huán)境從圖1-16可以看出,在VisualC#2008窗體應(yīng)用程序的默認(rèn)開發(fā)環(huán)境中,顯示出來的主要有菜單、工具欄、設(shè)計窗口(Forml.cs[設(shè)計])和解決方案資源管理器(這些窗口都將在下一小節(jié)中詳細介紹),一?般情況下,在編程過程中,除了這些以外,還有兩個常用的窗□:工具箱和屬性窗口,本小節(jié)將介紹如何將這兩個窗口顯示出來,從而定制自己的開發(fā)環(huán)境。說明:在實際應(yīng)用中,應(yīng)當(dāng)根據(jù)個人編程習(xí)慣和顯示器屏幕大小自行決定是否顯示工具箱窗口和屬性窗口。即如果更習(xí)慣工具箱窗口和屬性窗口自動隱藏和顯示,便可跳過對本小節(jié)的閱讀。顯示工具箱為了能夠更方便的使用工具箱中的控件,可以先把工具箱顯示出來,下面先來看一下顯示工具箱窗口的方法:(1)在VisualC#2008開發(fā)環(huán)境的最左邊,有一個【工具箱】字樣(如圖1-16所示),將鼠標(biāo)指針移動并停留在該部位,稍后片刻,就可以看到一個被展開的工具箱,如圖1-17所示。圖1-17展開工具箱(2)然后用鼠標(biāo)單擊工具箱窗口右上部的(自動隱藏)按鈕,則工具箱被顯示出來,如圖1-18所示。這時即使鼠標(biāo)移離工具箱,它也不會自動隱藏,這樣便可更方便的使用其中的控件。11PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建圖1-18顯示工具箱顯示屬性窗口屬性窗口是修改界面對象屬性時一個最常用的工具,在默認(rèn)情況下是隱藏的,顯示屬性窗口的方法非常簡單,只需要使用【視圖】一【屬性窗口】菜單命令即可,顯示屬性窗口后的開發(fā)環(huán)境如圖1-19所示。圖1-19顯示屬性窗口12PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建第1章初識VisualC#2008如果覺得這些窗口(工具箱、解決方案資源管理器和屬性窗口)占據(jù)的屏幕空間太大,可以將鼠標(biāo)指針??吭谶@些窗口的邊緣,然后使用鼠標(biāo)的拖拽來改變它們的高度和寬度,以獲得更合理的窗口布局,如圖1-20所示。圖1-20更合理的窗口布局說明:有的時候,在自定義窗口布局后,希望能夠恢復(fù)到VisualC#2008開發(fā)環(huán)境的默認(rèn)窗口布局,這可以通過選擇【窗口】一【重置窗口布局】菜單項來實現(xiàn),選擇該菜單項后,會彈出一個如圖1-21所示的詢問對話框,選擇【是】即可恢復(fù)到默認(rèn)設(shè)置狀態(tài)。圖1-21詢問對話框1.4.3開發(fā)環(huán)境界面組成從圖1-20中可以看出,VisualC#2008的開發(fā)環(huán)境包括菜單欄、工具欄、工具箱、窗體設(shè)計器、解決方案資源管理器和屬性窗口,通過【視圖】菜單還可以打開代碼窗口、類視圖窗口、動態(tài)幫助窗口、調(diào)試輸出窗口和錯誤列表窗口等組件。本小節(jié)介紹一下常用的窗體設(shè)計器、工具箱、代碼窗口、解決方案資源管理器和屬性窗口。窗體設(shè)計器窗體是用戶界面各元素中的最大容器,用于容納其他控件(如標(biāo)簽、文本框、按鈕等)。Windows窗體設(shè)計器用于設(shè)計Windows應(yīng)用程序的用戶界面,是一個放置其他控件的容器,13PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建一般稱為“窗體(Form),如圖1-22所示?!皥D1-22窗體設(shè)計器一個Windows應(yīng)用程序可以擁有多個窗體,但是它們的名字必須不同,默認(rèn)狀態(tài)下窗體的名稱分別為Forrnl、Forrn2、Form3、 ,用戶可以修改相應(yīng)的Name屬性,以便標(biāo)識各個窗體的功能和作用,如可以用“FrmLogin”給應(yīng)用程序的登錄窗體命名、"FrmMain”用給應(yīng)用程序的主窗體命名等。說明:窗體設(shè)計器的上方有一排選項卡,通過單擊選項卡,可以在窗體、代碼窗口、起始頁以及其他功能區(qū)之間進行切換。工具箱VisualC#2008給用戶提供了很多控件,常用的被放置在“工具箱”中,不常用的可以通過快捷菜單中的【選擇項】菜單項來添加,這些控件用于設(shè)計用戶界面,“工具箱”如圖1-23所示。默認(rèn)情況下,工具箱中有“所有Windows窗體”“公共控件"''容器”"菜單、、、和工具欄”等選項卡,每個選項卡中包含相應(yīng)的控件。用戶可以通過快捷菜單中的【添加選項卡】菜單項來添加選項卡,通過【刪除選項卡】菜單項來刪除選項卡,并且可以自定義工具箱的布局,如“顯示”和“隱藏”工具箱,移動工具箱的位置等。圖1-23工具箱14PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建第1章初識VisualC#2008代碼窗口通過代碼窗口可以直看到應(yīng)用程序包含的代碼,代碼窗口是用戶編寫源代碼的地方。默認(rèn)情況下它一般是隱藏的,顯示代碼窗口的方法有多種:(1)選擇【視圖】一【代碼】菜單項;(2)右擊窗體或窗體中的控件,選擇【查看代碼】菜單項;(3)在解決方案資源管理器窗口的工具欄中單擊(查看代碼)按鈕。對于前面創(chuàng)建的“Welcome”項目,默認(rèn)生成的窗體為“Forml”,使用上面任意一種方法激活代碼窗口,如圖1-24所示。圖1-24代碼窗口同樣的,代碼窗口上面也有一排選項卡,用戶可以通過單擊各選項卡在不同的功能區(qū)之間進行切換。解決方案資源管理器窗口解決方案資源管理器窗口的功能是顯示一個應(yīng)用程序中所有的屬性以及組成該應(yīng)用程序的所有文件,包括“Properties”“引用”等,如圖1-25所示。用戶可以通過雙擊其中的、列表項來切換到相應(yīng)的對象中去。圖1-25解決方案資源管理器說明:屬性窗口下的工具欄中的工具分別表示屬性、顯示所有文15PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建件、刷新、查看代碼和窗體設(shè)計器視圖。屬性窗口在設(shè)計窗口選中一個對象(窗體或窗體中的控件)后,該對象的屬性會顯示在相應(yīng)的屬性窗口中。如圖1-26所示的屬性窗口顯示了對象Forml的所有可讀寫的屬性,拖動該窗口的滾動條可以查看到這些屬性。例如圖1-26中顯示的Text屬性決定著Forml的標(biāo)題欄中顯示的文本,用戶可以修改右邊默認(rèn)的文本“Forml”,直接對其進行修改以達到預(yù)想的顯示效果。圖1-26屬性窗口注意:修改對象的屬性也可以使用代碼來完成。說明:屬性窗口下的工具欄中的兩組工具和分別表示按分類順序排列屬性和按字母順序排列屬性(默認(rèn))、顯示對象的屬性(默認(rèn))和顯示對象的事件。并且在屬性窗口的下方顯示了選中屬性的提示信息。保存項目設(shè)計VisualC#2008項目時,在完成窗體的設(shè)計并編寫好程序代碼后,應(yīng)當(dāng)保存項目文件,以防止調(diào)試或運行程序時發(fā)生死機等意外而造成數(shù)據(jù)丟失,保存文件可以選擇【文件】一【保存】或【全部保存】命令,或單擊工具欄中的【保存】或【全部保存】按鈕,保存的位置為前面設(shè)置存放位置(詳見第1.3節(jié))。說明:如果設(shè)計器窗口的選項卡中的文件名后面有一個“”(如Forml.cs*),這表示該對象或代碼經(jīng)過了修改,但沒有被保存,保存成功后“*”會消失。1.5一個簡單的Windows應(yīng)用程序Windows應(yīng)用程序即窗體應(yīng)用程序,是指WINFORM項目。它允許以圖形的方式進行人機交互,操作Windows應(yīng)用程序完全類似于操作Windows操作系統(tǒng)。使用VisualC#2008可以開發(fā)出優(yōu)秀的Windows應(yīng)用程序。下面用一個簡單的實例介紹一下開發(fā)Windows應(yīng)用程序的基本方法和步驟。該實例的開發(fā)過程雖然簡單,卻體現(xiàn)了使用VisualC#2008開發(fā)Windows應(yīng)用程序的基本流程。完成本程序,主要包括以下4個步驟:(1)程序界面設(shè)計。(2)設(shè)置界面對象的屬性。16PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建第1章初識VisualC#2008(3)編寫程序代碼。(4)測試與運行程序。界面設(shè)計(1)卻換到前面創(chuàng)建的“Welcome”項目(若已經(jīng)關(guān)閉則重新打開)開發(fā)界面,這時的開發(fā)界面應(yīng)當(dāng)如圖1-20所示。(2)調(diào)整窗體至合適的大小,長寬比約為2:1,然后展開工具箱中的“所有Windows窗體”選項卡,找到并雙擊TextBox(文本框)控件,為窗體添加一個TextBox控件,這時的窗體Forml如圖1-27所示。圖1-27調(diào)整大小并添加文本框后的窗體說明:添加控件也可以先在工具箱中選擇相應(yīng)的控件,然后在窗體中適當(dāng)?shù)奈恢檬褂檬髽?biāo)的拖動(即繪制控件)來實現(xiàn)。(3)使用鼠標(biāo)拖動文本框至窗體中上部,并調(diào)整文本框的長度,調(diào)整后的窗體Forml如圖1-28所/Jno圖1-28調(diào)整文本框位置和大小后的窗體(4)按照同樣的方法,在工具箱中找到Button(命令按鈕)控件,為窗體添加兩個Button控件,并調(diào)整其大小和位置,如圖1-29所示。圖1-29添加按鈕控件后的窗體屬性設(shè)置控件添加完畢后,接下來對窗體及窗體上各控件的屬性進行設(shè)置,窗體、文本框和命令按鈕的屬性設(shè)置如表1-1所示。17PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建表1-1窗體和各控件的屬性設(shè)置控件類型FormTextBoxButton控件名稱Form!TexlBox1Button1Bulton2屬性TextNameReadonlyNameTextNameText設(shè)置結(jié)果歡迎txtShowResultTruebtnOk確定btnClose關(guān)閉說明:文本框的Readonly屬性用于控制文本框是否只讀(即是否接受用戶的輸入),在本程序中,文本框僅用于顯示文本,所以應(yīng)當(dāng)將其設(shè)為True。設(shè)置好窗體及各控件的屬性后用戶界面如圖1-30所示。圖1-30設(shè)置屬性后的界面可以看到,文本框變成了灰色,表明該文本框是只讀的,在程序運行的過程中,用戶不能改變其中的文本內(nèi)容。編寫代碼設(shè)置好窗體及各控件的屬性后,接下來編寫程序代碼。首先雙擊【確定】按鈕,打開代碼窗口,如圖1-31所示。圖1-31雙擊【確定】后的代碼窗口18PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建第1章初識VisualC#2008說明:圖中的"InitializeComponent。;”語句用于初始化窗體控件或組件,由程序自動生成,■-般情況下不要對其進行修改。接下來在btnOk按鈕的Click事件(單擊)中(即圖1-31中光標(biāo)所在的位置)加入以下代碼:********txtShowResult.Text="歡迎進入VisualC#2008編程世界!說明:該代碼的含義是在文本框控件txtShowResult中顯示“歡迎進入VisualC#2008編程世界!”字樣。然后切換到用戶界面窗口,再雙擊【關(guān)閉】按鈕,按照同樣的方法在btnClose按鈕對象的Click事件中加入以下代碼:******** Application.Exit();說明:該代碼的含義是關(guān)閉窗體,并結(jié)束應(yīng)用程序的運行。輸入完代碼后的代碼窗口如圖1-32所示。圖1-32編寫好代碼后的代碼窗口到此,整個程序的代碼全部添加完成,代碼中的兩個代碼段(方法)都使用了鼠標(biāo)的Click(單擊)事件。在窗體和代碼都設(shè)計好后,應(yīng)當(dāng)保存文件,以防止調(diào)試或運行程序時發(fā)生死機等意外而造成數(shù)據(jù)丟失。前面介紹過,保存文件可以選擇【文件】一【保存】或【全部保存】命令,或單擊工具欄中的【保存】或【全部保存】按鈕來實現(xiàn),另外編譯程序時也會自動保存所有項目文件,編譯成功后不需要再使用菜單命令來保存文件。1.5.4運行程序19到此,應(yīng)用程序設(shè)計的前期工作已經(jīng)完成,下一步便是調(diào)試和運行程序了,調(diào)試和運PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建行程序的方法是:選擇【調(diào)試】一【啟動】命令,或單擊工具欄中的按F5鍵。試運行后,出現(xiàn)如圖1-33所示界面。按鈕,還可以直接圖1-33運行界面然后單擊【確定】按鈕,則會在窗體上方的文本框中顯示“歡迎進入VisualC#2008編程世界!”的字樣,如圖1-34所示。圖1-34單擊【確定】的運行結(jié)果最后,單擊【關(guān)閉】按鈕,窗體關(guān)閉,并結(jié)束應(yīng)用程序的運行。說明:如果程序不能正常運行,編譯器會給出相應(yīng)的提示,可以根據(jù)提示對程序進行修改,直到程序能正常運行為止。關(guān)閉開發(fā)工具時,如果提示是否保存,應(yīng)當(dāng)對該項目文件再存一次盤。因為VisualStudio2008具有自動保存項目的功能,如果沒有提示,則表明已經(jīng)自動保存。1.6小結(jié)本章首先介紹了VisualC#2008的一些新特性和VisualStudio2008的安裝過程,然后介紹了集成開發(fā)環(huán)境及VisualC#2008的界面組成,并開發(fā)了一個簡單的Windows應(yīng)用程序。通過本章的學(xué)習(xí),讀者可以初步地了解VisualC#2008的開發(fā)環(huán)境及其特點,并掌握Windows應(yīng)用程序的開發(fā)步驟。20PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建第2章C#語言基礎(chǔ)本章首先介紹C#的基本數(shù)據(jù)類型、關(guān)鍵字和標(biāo)識符、常量與變量、運算符和表達式、以及C#編碼規(guī)范等基礎(chǔ)知識。然后介紹C#的程序控制結(jié)構(gòu)的概念以及選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu)的實現(xiàn),最后介紹了C#中的數(shù)組、方法、類與對象和文件操作。數(shù)據(jù)類型數(shù)據(jù)類型是對各種數(shù)據(jù)形態(tài)的描述,如整型、浮點型等。在計算機中,數(shù)據(jù)類型的不同決定所占內(nèi)存存儲空間的大小,使用什么樣的數(shù)據(jù)類型要根據(jù)實際情況而定.C#提供了大量的內(nèi)置數(shù)據(jù)類型,被稱為基本數(shù)據(jù)類型,與之對應(yīng)的是用戶自定義的復(fù)合數(shù)據(jù)類型,本節(jié)只討論基本數(shù)據(jù)類型。C#語言與.NET框架的結(jié)合是無縫的,因此,提供給C#開發(fā)者的基本數(shù)據(jù)類型也是.NET框架的一部分。表2-1列舉了C#語言中的基本數(shù)據(jù)類型,以及與它們對應(yīng)的.NET框架的數(shù)據(jù)類型、大小和說明。表2-1C#的基本數(shù)據(jù)類型C#數(shù)據(jù)類型boolbytesbytechardecimaldoublefloatintuintlongulongshortushortstringobject.NET框架數(shù)據(jù)類型System.BooleanSystem.ByteSystem.SByteSystem.CharSystem.DecimalSystem.DoubleSystem.SingleSystem.Int32System.UInt32System.Int64System.UInt64System.Intl6System.UIntl6System.StringSystem.Object大?。ㄎ唬┱f明888161286432323264641616取決于實現(xiàn)平臺32邏輯值,或者false,true默認(rèn)值為false無符號的字節(jié),所存儲的值的范圍是0-255,默認(rèn)值為0帶符號的字節(jié),所存儲的值的范圍是-128T27,默認(rèn)值為0無符號的16位Unicode字符,默認(rèn)值為、(T不遵守四舍五入規(guī)則的卜進制數(shù),默認(rèn)值為0.0m雙精度的浮點類型,默認(rèn)值為0.0d單精度的浮
點類型,默認(rèn)值為O.Of帶符號的32位整型,默認(rèn)值為0無符號的32位整型,默認(rèn)值為0帶符號的64位整型,默認(rèn)值為0無符號的64位整型,默認(rèn)值為0帶符號的16位整型,默認(rèn)值為0無符號的16位整型,默認(rèn)值為0指向字符串對象的引用,0~大約20億Unicode字符,默認(rèn)值為null指向類實例的引用,默認(rèn)值為nullPDF文件使用"pdfFactoryPro"試用版本創(chuàng)建標(biāo)識符與命名空間標(biāo)識符是計算機語言里常用的一個術(shù)語,而命名空間是微軟在.NET中提出的一個新念。本節(jié)將介紹這些概念。關(guān)鍵字與標(biāo)識符do在VisualC#2008中,關(guān)鍵字是對編譯器具有特殊意義的預(yù)定義保留符號。如if、int、等都是VisualC#2008的關(guān)鍵字,它們不能在程序中用作標(biāo)識符,除非它們有一個“@”do前綴(只有在特殊的情況下使用,否則并不提倡這么做)。例如,“@if”是一個合法的標(biāo)識符,而“if”不是合法的標(biāo)識符,因為它是關(guān)鍵字。在VisualC#2008中,常量、變量、函數(shù)、類等的命名必須遵循一定的規(guī)則,通常把符合這些規(guī)則的名稱稱為VisualC#2008的合法標(biāo)識符,這些規(guī)則是:(1)標(biāo)識符必須由字母、十進制數(shù)字、下劃線(_)或漢字組成,且只能以字母、下劃線或漢字開頭。(2)如果以下劃線開頭,則必須包括至少一個其他字符。(3)不能是VisualC#2008中的關(guān)鍵字(保留字)。(4)VisualC#2008的標(biāo)識符區(qū)分大小寫。下面列出了一些合法與不合法的標(biāo)識符:abc、」2、加數(shù)、if-else//合法的標(biāo)識符12abe〃錯誤,不能以數(shù)字開頭一〃錯誤,以下劃線開頭,應(yīng)至少“false”是VisualC#2008“AbC”與“ABc”是不中,標(biāo)識符中允許使用中包括一個其他字符Ab#3//錯誤,包含非法字符?false”錯誤,中的關(guān)鍵字注意:①VisualC#“false”是VisualC#2008“AbC”與“ABc”是不中,標(biāo)識符中允許使用中命名空間在編寫大型程序時,隨著代碼的增多,就意味著越來越多的名稱、命名數(shù)據(jù)、已命名過程以及已命名類等,這就極有可能發(fā)生兩個或者兩個以上的標(biāo)識符名稱沖突,造成項目的失敗。為了解決類似的問題,需要引入''命名空間”的概念。微軟在.NET中,引入了命名空間(namespace),命名空間就是用來解決上述問題的,它為各種標(biāo)識符創(chuàng)建一個已命名的容器,同名的兩個標(biāo)識符如果不出現(xiàn)在同一個命名空間中,是不會相互沖突的。例如求平方根的數(shù)學(xué)函數(shù)Sqrt()位于命名空間“System.Math”在使用Sqrt()函數(shù)時,中,需要鍵入完整的命名空間和函數(shù)名稱“System.Math.Sqrt。”增加鍵入的難度。,VisualC#2008允許在代碼編輯器的頂部引入命名空間,這樣就可以在下面的代碼中直接使用Sqrt()函數(shù)。22PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建第2章C#語言基礎(chǔ)using引入“System.Math”命名空間的代碼如下:usingSystem.Math常量與變量計算機處理的數(shù)據(jù)分為常量和變量兩種,本節(jié)將介紹常量與變量的概念以及它們的聲明和使用方法。常量常量是指在程序運行的過程中,其值保持不變的量。VisualC#2OO8的常量包括符號常量、數(shù)值常量、字符常量、字符串常量和布爾常量等。符號常量一經(jīng)聲明就不能在任何時候改變其值。VisualC#2008中,采用const語句來聲明常量,其語法格式為:const〈數(shù)據(jù)類型>v常量名>=〈表達式〉…說明:①〈常量名〉遵循標(biāo)識符的命名規(guī)則,一般采用大寫字母。②表達式由數(shù)值、字符、字符串常量及運算符組成,也可以包括前面定義過的常量,但是不能使用函數(shù)調(diào)用。例如:********constintMIN=100;//聲明常量MAX,代表1000,整型constfloatPI=3.14F;/Z聲明常量PI,代表3.14,單精度型conststringSTR="2009010101";//聲明常量STR,代表 "2009010101" , 字 符 串 型③如果多個常量的數(shù)據(jù)類型是相同的,可在同一行中聲明這些常量,聲明時用逗號將它們隔開。如:********constintNUM1= 10,NUM2= 100,NUM3= 1000;變量變量是在程序運行的過程中,其值可以改變的量,它表示數(shù)據(jù)在內(nèi)存中的存儲位置,每個變量都有一個數(shù)據(jù)類型,以確定哪些數(shù)據(jù)類型的數(shù)據(jù)能夠存儲在該變量中?C#是--種數(shù)據(jù)類型安全的語言,編譯器總是保證存儲在變量中的數(shù)據(jù)具有合適的數(shù)據(jù)類型。在VisualC#2008中,聲明變量的語法格式為:(數(shù)據(jù)類型〉v變量名>=<表達式>…說明:①〈變量名〉遵循C#合法標(biāo)識符的命名規(guī)則。②[=〈表達式》]為可選項,可以在聲明變量時給變量賦一個初值(即變量的初始化),23PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建例如:********floatx=12.3;//聲明單精度型變量y,并給其賦初值12.3等價于:floatx;12.3;floatx;12.3;③一行可以聲明多個相同類型的變量,且只需指定一次數(shù)據(jù)類型,變量與變量之間用逗號隔開,例如:********intnuml=10,num2=100,num3=1000,num4=10000;運算符與表達式運算符是對一個或者多個返回值的代碼元素執(zhí)行運算的代碼單元,VisualC#2008的運算符包括算術(shù)運算符、邏輯運算符、字符串連接運算符、關(guān)系運算符、賦值運算符、位運算符和自增自減運算符等,木節(jié)將詳細介紹這些運算符和表達式,以及它們的優(yōu)先級。算術(shù)運算符算術(shù)運算符用于完成算術(shù)運算,所涉及的操作對象有文本、常量、變量、表達式、函數(shù)調(diào)用以及屬性調(diào)用等。例如運算符“*”用于將其兩邊的操作數(shù)的值相乘。VisualC#2008的算術(shù)運算符及相應(yīng)的表達式示例如表2-2所示。表2-2算術(shù)運算符運算取負(fù)加法減法乘法除法求余運算符+*/%算術(shù)表達式示例-11+21-21*210/210%4結(jié)果及說明對數(shù)字1進行取負(fù)運算1加上2,結(jié)果為31減去2,結(jié)果為-11乘以2,結(jié)果為210除以2,結(jié)果為5取10除以4的余數(shù),結(jié)果為2說明:①“%”為求余運算符,求兩個數(shù)相除后的余數(shù)。②進行除法運算時,如果兩個操作數(shù)均為整數(shù),則得到的結(jié)果也是整數(shù),并不采用四舍五入規(guī)則,而是直接舍棄其小數(shù)部分,例如“10/4”的結(jié)果為“2”“15/4”的結(jié)果為、“3”.③數(shù)學(xué)運算符中,只有取負(fù)(-)為一元(只有一個操作數(shù))運算符,其他均為二元(有兩個操作數(shù))運算符。④算術(shù)運算符的優(yōu)先級順序由高到低依次為:-(取負(fù))、*、/、%、+、-(減).24PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建第2章C#語言基礎(chǔ)字符串連接運算符VisualC#2008的字符串連接運算符只有一個,即“+”,它一般用于連接兩個字符串。字符串連接表達式的結(jié)果仍為字符串類型的數(shù)據(jù),例如:"Visual"+"C#"+"2008"http://結(jié)果為"VisualC#2008"說明:當(dāng)"+”連接的對象中既有字符串又有數(shù)字時,則可以省略數(shù)字的字符串定界符(""),例如:"Visual"+"C#"+"2008"可以寫成:"Visual"+"C#"+2008這樣做并不會影響計算的結(jié)果,但是并不提倡這樣做。關(guān)系運算符關(guān)系運算符用于比較兩個表達式之間的關(guān)系,比較的對象通常有數(shù)值、字符串和對象等,關(guān)系運算的結(jié)果是一個bool值,即true或false□VisualC#2008的關(guān)系運算符及相應(yīng)的表達式示例如表2-3所示。表2-3關(guān)系運算符運算符==!=<<=>>=測試關(guān)系等于不等于小于小于等于大于大于等于關(guān)系表達式示例a==8a!=8a<8a<=8a>8a>=8結(jié)果(設(shè)變量a的值為10)falsetruefalsefalsetruetrue說明:①上表中給出的運算結(jié)果,是在假定變量a的值為10的前提下得到的。②所有的關(guān)系運算符均為二元運算符。關(guān)系表達式的運算結(jié)果是一個bool值,true即或false?邏輯運算符邏輯運算符(也稱布爾運算符)用于判斷操作數(shù)之間的邏輯關(guān)系。邏輯表達式的值也是一個bool值,即true或false-VisualC#2008的邏輯運算符有:&&(與)、11(或)、?。ǚ牵?。其中,只有邏輯非(?。橐辉\算符,其他均為二元運算符。邏輯運算符(&&、II、!)的運算規(guī)則如下:(1)邏輯非(?。河烧孀兗倩蛴杉僮冋妫M行取反運算。例如:!(2>10)的值為true。) (2)邏輯與(&&):對兩個操作數(shù)進行與運算,如果兩個操作數(shù)均為true,則結(jié)果為true;否則為false?例如:(2<10)&&(8<5)的值為false.25PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建(3)邏輯或(II):對兩個操作數(shù)進行或運算,如果兩個操作數(shù)其中有一個為true,則結(jié)果為true;只有當(dāng)兩個操作數(shù)均為false時,結(jié)果才為false?例如:(2<10)II(8<5)的值為true。賦值運算符在VisualC#2008中,賦值運算符有基本賦值運算符和復(fù)合賦值運算符兩種,通常用于將表達式的值賦給一個變量。VisualC#2008的賦值運算符(包括復(fù)合賦值運算符)及相應(yīng)的表達式示例如表2-4所示。表2-4賦值運算符運算符=+=-=*=/=%=賦值表達式示例a=8把值8賦給變量aa+=8a-=8a*=8a/=2a%=2結(jié)果(設(shè)變量a的初始值為2)a=8a=10(相當(dāng)于a=a+8)a=-6(相當(dāng)于a=a-8)a=16(相當(dāng)于a=a*8)a=l(相當(dāng)于a=a/2)a=0(相當(dāng)于a=a%2)位運算符計算機處理的數(shù)據(jù)都是以二進制的形式保存的,VisualC#2008提供了一些專門針對二進制數(shù)的運算符,即位運算符。位運算符按二進制位進行運算,VisualC#2008的位運算符如表2-5所示。表2-5VisualC#2008的位運算符位運算符&I八?《?含義與或異或取補左移右移說明兩個二進制位同為1時結(jié)果為1,否則為0兩個二進制位同為0時結(jié)果為0,否則為1兩個二進制位相同時結(jié)果為0,否則為1按位取反,即?0=1.-1=0操作數(shù)按位左移,最高位移出,最低位補0操作數(shù)按位右移,最低位移出自增和自減運算符VisualC#2008與C/C++相同,保留了自增運算符(++)和自減運算符(-),它們是一元運算符,且操作的對象只能是變量。自增運算自增運算符(++)的作用是對變量的值加1.自增運算符(++)可以放在被操作變量的前面(稱為前自增),也可以放在被操作變量的后面(稱為后自增)?26PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建第2章C#語言基礎(chǔ)前自增與后自增有很大的區(qū)別,如果帶有自增運算符(++)的變量出現(xiàn)在表達式中,前自增的執(zhí)行過程是:先使變量的值加1,再執(zhí)行其他運算;而后自增則是先執(zhí)行其他運算,再使變量的值加1?自減運算自減運算符(-)的作用是對變量的值減1。自減運算符(-)可以放在被操作變量的前面(稱為前自減),也可以放在被操作變量的后面(稱為后自減)。前自減與后自減也有很大的區(qū)別,如果帶有自減運算符(-)的變量出現(xiàn)在表達式中,前自減的執(zhí)行過程是:先使變量的值減1,再執(zhí)行其他運算;而后自減則是先執(zhí)行其他運算,再使變量的值減1.4.8其他運算符除了前面介紹的一些運算符,VisualC#2008還提供了一些其他的運算符,如條件運算符、is運算符和typeof運算符等。條件運算符條件運算符“?:”也稱為三元運算符,它是后面要介紹的選擇結(jié)構(gòu)控制語句if…else的簡化形式,具有三個操作數(shù),其語法格式如下:<條件表達式>?<條件成立的返回值>:<條件不成立的返回值〉其中〈條件表達式〉的值是一個bool值,即true或false?若表達式的值為true,則返回〈條件成立的返回值〉;否則,返回〈條件不成立的返回值〉。雖然三元運算符看起來很簡單,但它常常會導(dǎo)致程序難于理解,可讀性差,因此在實際的編程中,并不提倡這么做。而應(yīng)當(dāng)盡量避免使用它,采用選擇結(jié)構(gòu)控制語句if…else來解決類似的問題。is運算符is運算符用來比較兩個對象的引用變量,其語法格式如下:result=<表達式〉is〈類型>result是一個bool值,如果〈表達式〉的數(shù)據(jù)類型和<類型>相同或者相容,則result的值為true;否則,result的值為false.typeof運算符typeof運算表達式返回一個表示特定類型的System.Type對象。例如,typeof(int)返回表示S32類型的Type對象,typeof(string)返回表示System.String類型的Type對象。該運算符在使用反射動態(tài)查找對象信息時很有用。sizeof運算符sizeof是C#語言的一種一元運算符,它并不是函數(shù)。sizeof運算符以字節(jié)形式給出了其操作數(shù)的存儲大小。操作數(shù)可以是一個類型名,操作數(shù)的存儲大小由操作數(shù)的數(shù)據(jù)類型決定。27PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建2.4.9運算符的優(yōu)先級和結(jié)合順序前面介紹了C#的一些常用的運算符,本小節(jié)介紹這些運算符的優(yōu)先級順序及其結(jié)合性。先來看一下運算符的優(yōu)先級。運算符的優(yōu)先級根據(jù)運算符所執(zhí)行運算的特點和它們的優(yōu)先級,可將它們歸為一元運算符和括號、算術(shù)運算符、移位運算符、比較運算符、位運算及邏輯運算符、賦值運算符、后自增和后自減運算符七個等級。這些運算符的優(yōu)先級順序根據(jù)這七個等級進行劃分,如表2-6所示(從第一級到第七級,優(yōu)先級逐步降低)。表2-6運算符的優(yōu)先級級別第一級第二級第三級第四級第五級第六級第七級運算符++、-(作為前綴)、()、+、-(取負(fù))、!、?*、/、%、+、?>>><、>、<=、>=、==、!=&、A、I、&&、Ik?:=、*=、/=、%=、+=、-=、?=-.?=?.&=、A=、1=++、--(作為后綴)運算符的結(jié)合順序運算符的結(jié)合順序分為左結(jié)合和右結(jié)合兩種,在VisualC#2008中,所有的?元運算符(++、-作為后綴時除外)都是右結(jié)合的。而對于二元運算符,除了賦值運算符外,其他的都是左結(jié)合的。5命名規(guī)則編寫代碼時,使用良好的風(fēng)格對標(biāo)識符命名是一個優(yōu)秀的程序員必須養(yǎng)成的習(xí)慣。變量、函數(shù)、結(jié)構(gòu)、枚舉、類、屬性、事件、方法等的命名都遵循這些規(guī)則,這樣可以大大地提高程序的可讀性,并可方便開發(fā)團隊中各人員之間的合作。標(biāo)識符的書寫風(fēng)格標(biāo)識符的書寫通常有以下幾種風(fēng)格:(1)Pascal風(fēng)格。大寫每一個單詞的第一個字符,如WindowsApplicationl>MaxNum。(2)Camel風(fēng)格。除了第一個單詞,大寫其他單詞的第一個字符,如maxNum,userName。(3)全部大寫。如果標(biāo)識符包含的字符數(shù)較少,可以采用全部大寫的方法,一般用于常量的命名,如28PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建第2章C#語言基礎(chǔ)PLMAX、MIN,類、結(jié)構(gòu)、枚舉和命名空間的命名類(class)、結(jié)構(gòu)(struct)、枚舉(enum)和命名空間(namespace)的命名一般采用Pascal風(fēng)格,由名詞或名詞短語構(gòu)成,且不要使用任何前綴。例如:Forml、Studentinformation、WeekDays、TxtWelcome等。參數(shù)、變量的命名參數(shù)、變量的命名采用Camel風(fēng)格,使用描述性的名字,使它能夠充分地表示出參數(shù)或變量的含義。例如:maxNumber、userName等。如果變曼僅用來在循環(huán)中計數(shù),即作為循環(huán)變量,則優(yōu)先使用i、j、k、1、m、n等。方法的命名方法的命名采用Pascal風(fēng)格,使用動詞或動詞短語命名。例如:Click,DoubleClick.FormClosing等。屬性的命名屬性的命名采用Pascal風(fēng)格,使用名詞或名詞短語命名。例如:BackColor>Readonly、ControlBox等??丶拿丶拿捎肅amel風(fēng)格(Form除外),即首字母小寫,而每個后面連接的單詞的首字母都大寫,命名的形式為:控件名的簡寫+英文描述(英文描述首字母大寫)。例如:btnOk>lblShow>txtlnputNum等。VisualC#2(X)8常用控件的簡寫及應(yīng)用舉例如表2-7所示。表2-7常用控件的簡寫及應(yīng)用舉例常用控件FormLabelLinkLabelButtonTextBoxRichTexlBoxMainMenuCheckBoxRadioButtonGroupBoxPictureBoxPanel簡寫FrmIblllblbtntxtrtxtmmnuchkrbtngbxpicpnl應(yīng)用舉例FrmMain(一個Form對應(yīng)一個類)IblShowIlblEmailbtnOktxtlnputNumrtxtShowDatammnuFilechkStockrbtnSelectedgbxMainpicLogopnlBody29PDF文件使用"pdfFactoryPro”試用版本創(chuàng)建續(xù)表2?7DataGridViewListBoxComboBoxListViewTreeViewTabControlDateTimePickerHscrollBarVscrollBarTimerToolBarStatusBarOpenFileDialogSaveFileDialogFoldBrowserDialogFonlDialogColorDialogPrintDialogdgrd1stcmbIvwtvwtctldtphsbvsbtmrtlbstbodlgsdlgfbdlgfdlgcdlgpdlgdgrdvStudentIstUsercmbMenuIvwBrowsertvwTypetctlMaindtpFinishDatehsbColorvsbColortmrLogintlbMainstbFootPrintodlgFilesdlgSavefgdlgBrowserfdlgFootcdlgColorpdlgPrint2.6控制結(jié)構(gòu)結(jié)構(gòu)化程序設(shè)計有三種基本控制結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。本節(jié)將介紹這三種控制結(jié)構(gòu)的概念及相應(yīng)的控制語句。順序結(jié)構(gòu)順序結(jié)構(gòu)是一種線性結(jié)構(gòu),也是程序設(shè)計中最簡單、最常用的基本結(jié)構(gòu),它只是一種編寫和執(zhí)行程序的協(xié)議,并不需要專門的控制語句來支持。從宏觀上來看,任何程序或系統(tǒng)都可以看成是由一個個基本結(jié)構(gòu)或基本程序段構(gòu)成的順序結(jié)構(gòu)。選擇結(jié)構(gòu)在日常的事件處理中常常需要根據(jù)不同的情況,采用不同的措施來解決問題。同樣,在程序設(shè)計中,也要根據(jù)不同的給定條件而采用不同的處理方法,選擇結(jié)構(gòu)就是用來解決這一類問題的。選擇結(jié)構(gòu)也稱為分支結(jié)構(gòu),其特點是:根據(jù)給定的條件是否成立,決定從各個可能的分支中執(zhí)行某一分支的相應(yīng)操作。VisualC#2008提供了兩種用于選擇結(jié)構(gòu)的控制語句,分別是if語句和switch語句,下面首先介紹一下if語句。30PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建第2章C#語言基礎(chǔ)if語句if語句是用于實現(xiàn)單條件(即只有一個條件)選擇結(jié)構(gòu)的語句,其特點是:當(dāng)給定條件(條件表達式)為真時,執(zhí)行條件為真的語句組(以下稱為“語句組1”;如果為假,)則執(zhí)行條件為假的語句組(以下稱為“語句組2”。)說明:①語句組1、語句組2可以為空(空則表示不做任何處理),然而當(dāng)兩個語句組都為空的話就失去了選擇的意義。②為養(yǎng)成良好的源代碼書寫習(xí)慣,如果必須設(shè)立空分支,應(yīng)該將空分支作為條件為假的分支(即語句組1非空)。根據(jù)上面的說明可以看出,單條件的if語句應(yīng)當(dāng)有兩種形式:一個分支的if語句和兩個分支的if語句(if else語句)。(1)一個分支的if語句只具有一個分支的if語句的語法格式如下:if(<條件表達式〉){〈語句組〉}說明:①〈條件表達式〉可以是關(guān)系表達式或邏輯表達式,表示執(zhí)行的條件,運算結(jié)果是一個bool值(true或false)。②〈語句組〉可以是一條語句,也可以是多條語句。當(dāng)只有一條語句時,花括號({))可以省略,但并不提倡這么做。一個分支的if語句使用示例如下:*******if(n%2=0){MessageBox.Show(n.ToString()+"是偶數(shù)");)(2)兩個分支的if語句具有兩個分支的if else語句的語法格式如下:if(<條件表達式>){〈語句組1>}else{<語句組2>}31PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建說明:①同樣(條件表達式〉可以是關(guān)系表達式或邏輯表達式,表示執(zhí)行的條件。②當(dāng)〈條件表達式〉的值為true(成立)時,執(zhí)行〈語句組1>=反之,當(dāng)〈條件表達式〉的值為false(不成立)時,執(zhí)行〈語句組2>。兩個分支的if語句使用示例如下:*******if(n%2==0){MessageBox.Show(n.ToString()+"是偶數(shù)");}else{MessageBox.Show(n.ToString()+"是奇數(shù)"); }(3)if語句的嵌套if語句的嵌套是指〈語句組1>或〈語句組2>中又包含if語句的情況,其形式為:if(<條件表達式1>){……if(〈條件表達式2>)……}else{……)嵌套的if語句的執(zhí)行過程與前面介紹的類似,嵌套的層數(shù)一般沒有具體的規(guī)定,但是一般來說超過10層的嵌套就很少見了。(4)嵌套格式elseif如果程序中出現(xiàn)了多層的if語句嵌套,會使得程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年北京懷柔醫(yī)院引進領(lǐng)軍人才和青年骨干人才招聘備考題庫及參考答案詳解一套
- 2025年招聘派遣人員至永州市城市發(fā)展集團有限責(zé)任公司總部及下屬子公司的備考題庫及1套完整答案詳解
- 2025年安徽演藝集團有限責(zé)任公司社會公開招聘和校園招聘備考題庫參考答案詳解
- 2025年云南硯山縣維摩鄉(xiāng)中心衛(wèi)生院招聘備考題庫及一套完整答案詳解
- 2025年廣西財經(jīng)學(xué)院公開招聘第三批校聘人員5人備考題庫及答案詳解參考
- 2025年葫蘆島市總工會面向社會公開招聘工會社會工作者5人備考題庫及完整答案詳解一套
- 中國人民財產(chǎn)保險股份有限公司吉安市分公司2026屆校園招聘備考題庫參考答案詳解
- 三明市人力資源和社會保障局三明市教育局“揚帆綠都圓夢三明”2026屆教育類高層次人才專項公開招聘備考題庫完整答案詳解
- 2025年昆明同仁醫(yī)院招聘26人備考題庫及答案詳解1套
- 中國安能集團第二工程局有限公司常州分公司2025年度公開招聘備考題庫及1套完整答案詳解
- 建平宏潤膨潤土有限公司礦山地質(zhì)環(huán)境保護與土地復(fù)墾方案
- (完整word版)硅烷偶聯(lián)劑kh-550化學(xué)品安全技術(shù)說明書 (MSDS)
- 急診與災(zāi)難醫(yī)學(xué)試題庫及答案(四)
- GB/T 29321-2012光伏發(fā)電站無功補償技術(shù)規(guī)范
- 消防維保計劃與方案
- 二級營銷師考試題庫及答案
- 班組安全基礎(chǔ)管理概述課件
- 旅游服務(wù)與管理專業(yè)人才需求調(diào)研報告五篇修改版
- 《中國特色社會主義進入新時代》課件
- 吊籃操作人員實際操作考核記錄表
- 基于光纖傳感器的油氣水三相流持氣率測井儀
評論
0/150
提交評論