C#操作環境與應用_第1頁
C#操作環境與應用_第2頁
C#操作環境與應用_第3頁
C#操作環境與應用_第4頁
已閱讀5頁,還剩185頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

TOC\o"1-5"\h\z\o"CurrentDocument"第一章c#操作環境與應用 6ー、?NET框架 7.公共語言運行時 7.NETFramework類庫 8二、VisualStudio開發環境 91、開始頁面 92、解決方案資源管理器 103、代碼編輯器 164、對象瀏覽器 175、屬性窗口 186、命令窗口和即時窗口 19三、C#語言簡介 191、C#的由來 202、C#的特點 20四、C#體驗初步 221、創建項目 222、創建控制臺應用程序 23\o"CurrentDocument"第二章數據類型 25ー、 關鍵字和標識符 26關鍵字(keyword) 26懷識符(identiner) 27常量與變量 27變量 27常量 28整數類型 29整數類型的取值范圍 30字符型數據 31四、實數類型 32實型變量 32decima!類型 34五、/7寸串大型 341、可以使用加號(+)連接多個字符串成為ー個新的字符串。 342、字符串的操作 353,字符串的操作 36六、數據轉換 36隱式轉換 36\o"CurrentDocument"第三章運算符和表達式 41ー、 基本算術運算符 431■, 加法運算符或正值運算符+ 43減法運算符或負值運算符- 43乘法運算符? 43除法運算Z 43模運算符% 43遞增、遞減運算 44位移運算符 44邏輯運算符 45邏輯與(邏輯AND)運算符& 46邏輯或(邏輯OR)運算符1 47邏輯異或(邏輯XOR)運算符A 47邏輯非(邏輯NOT)運算符! 48求補運算符? 48條件與(條件AND)運算符&& 48條件或運算符II 48賦值運算符和表達式 49復合賦值運算符 49賦值表達式 49關系運算符和關系表達式 50關系運算符 50關系表達式 50字符和字符串運算符 51ハ、 其他運算符 51點運算符 51索引運算符 51轉換運算符 52條件運算符 52\o"CurrentDocument"第四章 程序流程控制 54ー、 選擇結構語句 55if語句 55switch語句 57循環語句 591、while循環語句 602、do...while語句 61for語句 62循環嵌套 64流程跳轉語句 651、break語句 652、continue語句 66\o"CurrentDocument"第五章數組和集合 67ー、 ー維數組 681、數組的聲明 683、foreach循環語句 69二、 多維數組 70二、 ArrayList 721、創建和定義ArrayList 722、ArrayList的操作 72HashTable 74結構和枚舉 75結構 75枚舉 76\o"CurrentDocument"第六章 引用類型、裝箱和拆箱 79ー、 引用類型 80值類型和引用類型的關系 81拆箱和裝箱 84\o"CurrentDocument"第七章 面向對象基礎ー類和對象 85對象和類 86類的聲明和創建 86對象的創建和調用(實例化) 87訪問控制修飾符 88類的成員 89靜態類(staticclass) 90面向對象設計基礎 91封裝(Encapsulation) 91繼承(Inheritance) 92多態 92命名空間與using關鍵字 921、namespace關鍵字 932、using關鍵字 94類庫的使用 94.NET基類庫 942、類庫的生成 95\o"CurrentDocument"第八章 方法成員 97ー、方法的定義 98方法定義的格式 98返回值 991、 調用靜態方法 992、實例方法的調用 100三、方法參數和ref,out和params關鍵字 1011、方法參數 1012、ref關鍵字 102out關鍵字 1044、params參數 1055、方法的return語句 105方法的重載 108實例方法的重載 108構造方法重載 109屬性 110索引器 112第九章 繼承和多態 115ー、 繼承 116類繼承的定義 116重寫基類成員 117派生類對象的多類型性 118抽象類和抽象方法 119多態 1202、 面向對象的多態性 121\o"CurrentDocument"第十章 委托和事件 124ー、委托 125委托類型定義 126委托對象的定義 127多重委托 128調用委托 130委托的參數傳遞 131二、事件 132事件定義 132事件的引發 133第?!"一章 接口 137使用接口的意義 138接口的定義 138接ロ的特點 141\o"CurrentDocument"第十二章 異常處理 143ー、 異常 144程序錯誤 144異常 145異常處理 146ラ口構化:吊處理 146異常的排除 1484ヽ出異巾 149異常類 149\o"CurrentDocument"第十三章 XML 150ー、 XML簡介 151XML來歷 151XML的特點 151XML應用 152二、 XML語法 153語法簡介 1533、 屬性 156

?ZZ?ヽ1、2、3、第十四章ヽ—?ヽ1、2、XML的讀取 161讀取元素值 163XML的寫入 165文件操作 171文件與流 172讀寫文本文件 173讀文本文件 173寫文本文件 177第一章C#操作環境與應用NETFramework2.0VisualStutio開發環境C#開發簡介完成第一個C#程序ー、.NET框架.NET框架是ー個建立、配置和運行Web服務及應用程序的多語言環境,是Microsoft公司的新一代應用程序開發平臺。,NET框架包含二個部分:公共語言運行時(CommonLanguageRuntime),簡稱CLR:公共語言運行時是.NET框架的核心。在組件的運行期間,這個運行時環境管理內存分配、啟動及結束線程和進程,并執行安全策略,同時還滿足該組件対其他組件的所有依賴需求。在開發期間,這個運行時環境主要用來筒化開發工作。框架類庫:.NET框架提供ー個統ー的、面向對象的、層次化的和可擴展的類庫集。框架下的所有編程語言,包括C#、C++、VB等和各種腳步語言都可以使用這個類庫。C#中的各種數據類型就建立在這個類庫之上。VC++.C#,VB.NetVC++.C#,VB.Net/VJ#網絡應網絡應用(ASP.NET)圖形界面(WinForms)數據庫數據庫操作(ADO.NET)XML(WebService).NetFramework類庫(FCL)公共語言運行時(CLR)操作系統.公共語言運行時公共語言運行時(CLR)為.NET應用程序提供運行時的執行環境。它為托管代碼提供管理內存、線程執行、代碼執行、代碼安全驗證、編譯以及其他系統服務。以運行時為目標的代碼稱為托管代碼。在CLR環境中托管代碼編寫的任何程序語言,都被編譯成與平臺無關的Microsoft中間語言(MSIL)。在.NET運行時內部執行的是中間語言。MSIL是實現多語言支持的核心。CLR中包含有通用語言規范(CLS)和通用類型系統(CTS)運行時還通過實現通用類型系統(CTS)的嚴格類型驗證和代碼驗證基礎結構來加強代碼的可靠性。CTS確保所有托管代碼都是可以自我描述的。各種Micmsoft和第三方語言編譯生成符合CTS的托管代碼,托管代碼可在嚴格實施類型安全的同時使用其他托管類型實例。CLR運行時自動處理對象布局并管理對象的引用,在不使用它們時自動釋放。這種自動內存管理解決了兩個最常見的問題:內存泄漏和無效引用。在CLR環境中,由于!L和編程語言的無關性,在.NET環境中不同編程語言可以無縫地共享代碼和數據類型。運行庫大大地增強應用程序的性能。盡管公共語言運行時提供許多標準運行庫服務,但是它從不解釋托管代碼。ーー種稱為JIT(Justintime)的編譯方式使所有托管代碼能夠通過操作系統轉換成本機語言運行。同時,內存管理器排除了出現零碎內存的可能性,增大內存引用區域,以進ー步提高性能。2..NETFramework類庫框架類庫(FCL)是可以由其他類繼承和擴展或直接使用的最基本的類集。.NETFramework類庫是ー個與公共語言運行庫緊密集成的可重用的類庫集合。FCL是面向對象的,并提供你自己的托管代碼,從中導岀功能的類型。這不但是.NETFramework類型易于使用,而且還減少了學習.NETFramework的新功能所需要的時間。此外,第三方組件可與.NETFramework中的類無縫集成。正如用戶對面向對象的類庫所希望的那樣,.NETFramework類型使用戶能夠完成ー系列常見編程任務(包括諸如字符串管理、數據收集、數據庫連接以及文件訪問等任務)。除這些常見任務之外,類庫還包括支持多種專用開發方案的類型。例如,可以使用.NETFramework開發類型的應用程序:控制臺應用程序WindowsGUI應用程序(Windows窗體)ASP.NET應用程序XMLWebServicesWindows服務Windows窗體類是ー組綜合性的可亜用的類型,它們大大簡化了WindowsGUI的開發;如果要編寫ASP.NETWeb窗體應用程序,可使用Web窗體類;XMLWebService作為基于Web技術的重要發展,是類似于常見Web站點的分布式服務器應用程序組件。.NETFramework還提供類和工具的集合來幫助開發和使用XMLWebService應用程序。XMLWebServices是基于SOAP(ー種遠程過程調用協議)、XML(一種可擴展的數據格式)和WSDL(Web服務描述語言)這些標準生成的。基于這些標準生成.NETFramework的目的是為了提高與非Microsoft解決方案的互操作性。二、VisualStudio開發環境VisualStudio是.NET環境下核心開發工具。VisualStudio開發環境集成了設計、開發、編輯、測試和調試等許多功能,開發人員可以方便的開發應用程序。開發環境提供了MSDN強大的動態幫助。VisualStudio是ー個自動化程度很高的系統,用戶可以對其進行充分的定制。例如,用戶可以完全定義自己的工具欄,包括工具欄的布局、包含的按鈕及按鈕的圖標,還可以使用宏語言和VisualStudio提供的對象模型開展集成開發環境功能,甚至可以通過自己創建的插件來擴展它的功能。整個窗體主要由標題欄、菜單欄、工具欄、服務器資源管理器、工具箱、主窗口、解決方案資源管理器、屬性窗口、幫助窗口、狀態欄等區域構成。1、開始頁面VisualStudio的開始頁面為用戶提供了一個中心位置來設置集成開發環境的參起始頁-licrosoftVisualStudio文件位)??a<z)禪圖&)飾文件位)??a<z)禪圖&)飾XOIM(r)Baa)ttE<r)ICSh?rp25QIx—ipl?L?e<lNiahi1?bQ*Registerf?rtkelarcb11thVcbcastAJAXAp>licati?ns:A.へ3iSol3ioa33soi力!SolBtioal?^jSeUttbOf?bS?t?2打開 項3iSol3ioa33soi力!SolBtioal?^jSeUttbOf?bS?t?2打開 項目0)創建 項目(HBbsimibInt*llic?nc?D?SQLS?rv?rAnalysisS?mc?sSQLStrvtrIntecrationStrvicSQLServerReportS?rvic?v開發中心集成開發環境參數:Profile(用戶文件配置)犍盤映射方案窗口布局幫助過濾器和幫助的顯示方式啟動VisualStudio時顯示的內容2、解決方案資源管理器使用VisualStudio開發的所有應用程序是通過解決方案和項H來進行組織管理,解決方案和項目的所有管理操作都可以通過【解決方案資源管理器】來完成。2.1解決方案和項目解決方案資遇管理器ぶ至]CardGaaeふPropertiesた引用[コBlackJackGameJCardGameFramework[コDocwnentation,JImagesI」Resources:9app.config_BlackJackForm.csEULK.txtコOptionsForm.cs。電】Program,csTStartForm.csThu,05Bar2009180000GMT-K?vi?cur?isyour*v?r*(?AJAX2Plicgon?Inthissession,BryanS?lliv?nwillfirstbuild??Mpl?AJAXapplicationusin<d?si(npatterns,advic?,andcod*SMtpl?s&oar?sp?et?drtsourctsinth*AJAXceamtmity,*nd*111thanrapos*securityvuln*r?biliti*sIatr?4?cia<E>Fr?ssi?BBlcadThu,05l*r2009180000GMT-Jtafirstlookatusin(ExpressionBl?ndforSilvrli0t2Fr??ViswalSt?4i?I~B??ksOfferfreelicreseftPressThu,05Bar2009180000GUT-Downloadchapters£ro*thr??(r?atbooksonVisualStudio2008Pro。?main,licrosoftLIK,Iatr?dueinc■icr?softSilvwlifht2,S?co?dEiitimvandProcr?Miin<licr*ioftAzureServicesPlatforaVebcasts:CreateApplicationsto...Tu?,03Bar200919.0000GMT-Findoutho?th*Axur*ServicesPlttfor?toolianditchnolvgitscanb?usedforscenariosran<incfr?consoBerVebtoenterpriseapplications.Toncanbuildnew“plicationsoroit?nd??isti7on?sBovaloadtboSOLBat?SorvicosSBK首先,可以在開始頁面中打開已有的項目或創建新的項目。在該頁面中列出了一些最近打開的項目,可以單擊這些項目鏈接直接打開對應的項目,其作用和選擇【文件】I【最近的項目命令】一樣。該頁面中還有一些命令鏈接。例如【打開】'【創建】等。單擊這些鏈接會打開相應的對話框,然后就可以在這些對話框中進行具體的操作。由于應用程序的開發越來越復雜,通常包含大量不同格式的文件,所以管理這些文件就顯得非常重要。VisualStudio使用解決方案和項目來組織和管理應用程序的文件。解決方案是VisualStudio應用程序的基礎,項目是構建単位。解決方案是ー個邏輯上的容器,它包含構成應用程序的項目和其他文件,一個解決方案中可以包含ー個或多個項目。除了項目之外,解決方案中還可以包含其他獨立與項目的文件。這些文件分為兩類:ー類是在解決方案中由于多個項目共享的文件,它們將被生成到應用程序中;另ー類是雜項文件,它們不會被生成到應用程序中,而僅僅是被解決方案引用并且屬于解決方案。項目由文件組成,它的輸出結果通常為可執行文件(.EXE)或動態鏈接庫(.DLL).所有的項目都包含在解決方案之中,并且包含有唯一的項目文件(projectfile.sln)。這個項目文件中包含有項目所包含文件的列表以及它們的跟蹤信息,每次保存項目時都會更新該項目文件。VisualStudio為用戶提供了許多模板,用戶可以使用這些項目模板創建新的項目。項目行為模型在VisualStudio中,用戶和項目之間的交互存在ー組規則,這組規則叫做項目模型,它作用于應用程序的設計期間,約束著用戶所能進行的操作及操作產生的結果。VisualStudio為用戶提供了3種預定義的項目行為模型:基于存儲的項目、基于引用的項目以及混合項目。基于存儲的項目:在這種項目中,所有文件只能位于項目的根目錄或子目錄下,并且目錄中的所有文件都將生成應用程序中。這種類型的項目雖然也含有一個項目文件,但卻不用。這種類型的項目不能包含對其他項目文件的引用。Web項目就屬于這種類型。基于引用的項目:在這種模型的項目中,項目所包含的文件可以保存在任何地方,項目文件用來列出并跟蹤這些文件,只有那些在項目文件中列出的文件才能被生成到應用程序中。在這種類型的項目中可以包含對其他項目文件的引用。VisualStudioC++項目就是這種項目類型。混合項目:這種模型的項目同時具有上面兩種模型的特點。它所包含的文件可以存儲在任何地方并使用項目文件列表來跟蹤它們,通常也可以包含對其他項目文件的引用。這種類型的項目包括VisualBasic和C#項目。以上行為模型在用戶使用項目模板創建項目和維護項目時起作用,具體體現在向項目添加/刪除項、移動/復制項和保存項等操作匕例如,在C#中可以進行刪除和移除操作,而在C++項目中就不能進行刪除操作,只能進行移除操作。項目的類別在C#中,主要有兩種項目類別:本地項目和Web項目。這兩種類別的最主要區別是組成項目的文件所處的位置不同,本地項目的組成文件位于開發計算機上,而Web項目的組成則位于Web服務器或本地文件系統上。下表列出了用戶創建項目類型和項目類別。項目模板項目類別描述Windows應用程序本地項目用于創建常規的Windows桌面應用程序,它的圖形化用戶界面基于Windows控制臺應用程序本地項目用于創建命令行應用程序,即在DOS窗口中運行的應用程序類庫本地項目創建可以在其他應用程序中使用的類Windows控件本地項目用戶創建Windows控件,這些控件可以在Windows應用程序中使用Web應用程序Web項目這種應用程序的用戶界面由靜態的或動態的頁面組成,位于Web服務器上Web服務Web項目Web服務相當于!nternet環境中的組件,這也是.NET策略的核心技術之一,它也可以被其他的應用程序使用Web控件Web項目用戶創建在Web應用程序中使用的控件除了表中的項目類別外,VisualStudio還給出了兩個應用程序模板:空項目和空Web項目。這兩個模板將創建一個空的應用程序,然后用戶可以向其中添加相應的項。在VisualStudio中,可以使用【解決方案資源管理器】窗口來管理和監視項目。通常這種邏輯上的層次關系映射了它們在磁盤上的儲存方式。但是,根據解決方案和項目的創建方式不同,邏輯關系不一定必須和磁盤上的儲存方式相對應。使用【解決方案資源管理器】窗口【解決方案資源管理器】窗口是用戶解決方案之間的一個雙向接口,它提供了有關解決方案中的對象適時信息,允許用戶管理這些對象。用戶可以在【解決方案資源管理器】窗口中完成許多文件和項目的管理任務。例如,通過拖動來復制或移動對象、刪除對象、生成解決方案和項目、設置啟動項目、添加項目、添加項、打開文件和查看對象的屬性等。創建新的解決方案和項目VisualStud沁使用解決方案和項目來組織應用程序所包含的各種文件。ー個解決方案可以包含一個或多個項目。我們可以先創建解決方案,然后在向這個解決方案中添加項目;也可以只創建項目,VisualStudio將自動為用戶創建一個解決方案來包含新創建的項目。創建新的解決方案和項目:選擇【文件】I【新建】I【項目】命令(或者單擊工具欄上的【新建項目】按鈕)打開【新建項目對話框】。在【新建項目】對話框中選擇【項目類型】上點擊要選擇要建立的項目類型并在【模板】列表框中選擇ー個對應類型的應用程序模板,然后在【名稱】和【位置】欄中輸入新項目的名稱和項目文件的保存位置。單擊【確定】按鈕創建新的項目。如果用戶所選擇的項目模板存在項目創建向導,此時會打開項目創建向導。按照創建向導的提示進行操作就可以完成新建項目的創建。添加/刪除項解決方案和項目中的項目主要是指各種類型的文件,包括文本文件、位圖文件及源代碼文件等。能夠添加新項的位置有解決方案節點、項目節點以及項目下的文件夾節點。選擇的添加位置不同,所能添加的文件類型也會不同,但是操作方式基本相同。用戶可以添加新創建的文件,也可以添加己有的文件。當需要向解決方案或項目中添加項時,首先要選擇添加項的節點,然后從【項目】菜單中選擇【添加新項】或【添加現有項】命令,或者右擊并從快捷菜單中選擇【添加】I【新建項】。在添加新項時,選擇新創建的文件類型和輸入新文件的名稱,VisualStudio會為用戶創建并打開ー個對應類型的空文檔并把它添加到用戶所選擇的節點下:【添加現有項】時,在已有文件列表中選擇ー個文件,VisualStudio會把該文件添加到用戶所選擇的節點下并在已編輯器中打開該文件。刪除項時,在【解決方案資源管理器】窗口中選擇耍刪除的項并從快捷菜單中選擇【刪除】命令,被刪除項就會被物理刪除。當刪除項時,如果它們正處于打開狀態,VisualStudio會自動關閉它們。添加刪除項目【解決方案資源管理器】窗口中添加/刪除項目:用戶可以從【文件】I【添加】子菜單中選擇【新建項目】或【現有項目】命令打開【添加新項目】或【添加現有項目】対話框,也可以在【解決方案資源管器】窗口中鼠標右擊解決方案節點,從快捷菜單中選擇【添加】子菜單中【新建項目…】或【現有項目…】命令打開這兩個對話框。【添加新項目】對話框和前面介紹過的【新建項目】對話框基本相同。當添加現有項目時,只需要從【添加現有項目】對話框中選擇要添加的項目文件。當解決方案中不再需要某個項目時,可以在解決方案中選擇這個項目,然后選擇【編輯】菜單或快捷菜單中選擇【移除】命令把它從解決方案中刪除。【移除】只是刪除在解決方案中對該項目的引用,該項目在磁盤匕的對應文件不會被刪除。2.8設置啟動項目啟動項目就是解決方案中首先被生成和運行的項目。在ー個解決方案中,可以存在ー個或多個啟動項目。在【解決方案資源管理器】窗口中,啟動項目使用粗體字顯示。如果存在多個啟動項目,則包含這些項目的解決方案顯示為粗體。在創建解決方案時,最先被添加到解決方案中的項目默認成為啟動項目。如果要把ー個項目設置為啟動項目,首先在【解決方案資源管理器】窗口中選擇這個項目,然后從【項目】菜單或快捷菜單中選擇【設為啟動項目】命令,此時這個項目就會被顯示為粗體,原來的啟動項目則被取消。多啟動項目的設置要通過解決方案屬性頁對話框來完成。在【解決方案資源管理器】窗口中選擇解決方案節點,從【視圖】菜單或快捷菜単中選擇【屬性頁】命令或者單擊【解決方案資源管理器】窗口中的【屬性】按鈕打開解決方案的屬性頁對話框。在該對話框中,打開左邊窗格中的【通用屬性】節點選擇【啟動項目】選項,在對話框的右邊選中【多啟動項目】単選按鈕,對【多啟動項目】列表中各個項目進行設置。在【操作】列中可以設置啟動調試器時是否運行相應的項目,共有3個選項:啟動調試器運行項目并進行調試。啟動調試器運行項目而不調試。啟動調試器不運行項目。在對話框中的【上移】和【下移】按鈕用于調整項目的啟動順序。在列表中,靠上的項目較先啟動。設置解決方案的屬性解決方案的屬性在解決方案屬性頁對話框中完成,這些屬性主要影響應用程序的生成過程。在解決方案屬性頁中執行的任務包括確定項目在調試器中的運行順序,指定項目依賴性,定義和編輯解決方案與項目的生成配置。除項目設置外,介紹另外兩種設置:項目依賴:允許用戶指定解決方案中項目的生成順序,即某ー項目的生成依賴于其他項目為其提供資源,在生成該項目前,必須首先生成它所依賴的項目。用戶可以在這個屬性頁中選擇解決方案中一個項目并指定它所依賴的項目。生成配置:允許指定如何生成解決方案和項目的調試版本及發行版本。可以分別指定調試版本和發行版本的生成配置,也可以同時指定所有版本的生成配置,同時還可以自定義生成配置。設置項目屬性在VisualStudio.NE中,項目的屬性可以分為兩類,配置無關屬性和配置相關屬性。常見的項目配置有兩種:為調試應用程序設置的配置和為最終用戶發行程序設置的配置。配置無關屬性就是那些影響所有項目配置的屬性:而配置相關屬性是指那些只影響指定項目的屬性。配置無關屬性在【屬性】對話框中進行配置,通常包括項目的名稱、保存位置及項目所對應的策略文件。每次在【解決方案資源管理器】窗口中選擇ー個項目節點時,【屬性】對話框就會自動顯示它的配置無關性。配置相關屬性則在項目頁對話框中進行設置,通常包括程序集名稱、啟動対象及輸出類型等屬性。在該對話框中,用戶可以針對不同的項目配置設置不同的屬性值。例如,針對針對調式配置和發行配置設置不同的優化屬性。耍打開項目屬性頁對話框,首先在【解決方案資源管理器】窗口中選擇ー個項目節點,然后從【視圖】菜單或快捷菜單中選擇【屬性頁】命令或者單擊【解決方案資源管理器】窗口中的工具欄的【屬性】按鈕,打開項目屬性頁對話框。項目屬性對話框中,可以根據需要對其進行調整。但是,在選擇項目模板創建項目時,VisualStudio.NE將根據所選擇的模板來確定哪些屬性配置無關屬性、哪些屬性配置相關屬性,為用戶設置各種屬性的值。所以用戶不需要對其進行太多的設置。生成解決方案和項目VisualStudio.NE提供了兩種常用的生成配置:調試版本和發行版本。生成調試版本的應用程序主要是為了進行調試,它在生成的程序中包含大量的調試信息;發行版本主要是為了生成最終的應用程序,它對生成的代碼進行充分優化,使生成的代碼尺寸更小、速度更快。當生成應用程序時,可以在工具欄的【解決方案配置】下拉列表框中選擇要生成的版本,然后選擇【生成】丨【生成解決方案】命令或在【解決方案資源管理器】窗ロ選擇解決方案節點并從快捷菜單中選擇【批生成】命令,此時會打開【批生成】對話框。在【批生成】對話框中列出當前解決方案中所有項目的生成配置。在【解決方案配置】列中選擇要生成的程序版本,通過使用【生成】列中的復選框來選擇是否生成對應的項目配置。選擇完畢以后,單擊【生成】按鈕可生成選擇的項目;單擊【重新生成】按鈕將重新開始生成所有選擇的項目配置:單擊【生成】則只生成那些更新過的項ロ配置。【解決方案資源管理器】是用戶使用最多的工具之一,所有與解決方案和項目有關的操作基本上都是在【解決方案資源管理器】窗口中完成的。3、代碼編輯器代碼編輯器支持VisualStudio.NE的所有編程語言,可以使用同一編輯器編輯所有語言的代碼,包括C++、C#、VB、HTML、XML、及CSS等。代碼編輯器主要分為3個區域;代碼編輯區、指示器邊距和選定內容邊距。

目配?Pr?criv 目配?Pr?criv R(stria4ロ*rcs)Pr?(r*4、對象瀏覽器對象瀏器號瀏覽所有娟件 ?ー?七g|*<?*> ?瀏覽所有娟件 ?ー?七g|*<?*> ?jB@CardGts? へつ()BleckJadt BlacKJtckFor*?';Bl*ckJ*ckGMi?&FEndRtsolt?纟Options?ora■?;Pltytr“みPry*StartForm(}Blackjack.CardGweFraBevork匐CBlackjackPropartia*--^BicratoftVisualBaitc{1iicrosoftVisvalBasic{/Microsoft.VisualB&sxc.^>plicatioi?《}IicrosoftVisualBasicCoapil?rS?i?OIicrosoftVisualBasicDances上。!icrosoftVisualBasieFil?I0+(}Iicrosoft.VisualBasieLo(^in<?()IicrosoftVisualBasielyS?rvic?s?OIicrosoftVisualBasielyS?rvicas囹OascorlibB?t(daciaal)VBlackJackForaOCl?arB?tBtn_Click(object.Syst?MEv?ntAr(s)イCl.arTabl?0ガVDblI>vnBtn_Click(obj?ct,SystwEv?ntAr(s)づ?D?alBtn_Click(object,Syst?*Ev?ntArc>)VDispos*(bool)マEndGw*SlackjackEn<QL?snlt)ExitBtn.Click(object,S尸t”EventArfs).VFiftyBtnjClick(object,S)rst?eEventAr(s)イJtGtaeResult()qVKitBtn一Click(object.SystemEventAr^s)6VMnadr?dBtft_Click(object,SystemEventArcs)靜I&itialiieCompon?nt0L?adCard(SystemTindovsForesPictur?Box,BlackjackCardGMB?Fr??*vork.CaVLoadCardSkinI?ac?s0ベS?tVpGtm?InPlavOinternalclassBlackJackFora:Sアste?.?endows.Fo?9s.Fo??Blackjack的成員【対象瀏覽器】為用戶提供了查看不同組件中的對象和對象的成員,査看對象的組件不僅僅是用戶解決方案中的項目,還可以是用戶的項目所引用的組件以及外部組件,如.NET框架組件、COM組件。這些組件構成了【對象瀏覽器】的瀏覽范圍。【對象瀏覽器】窗口分為:工具欄、對象窗格和描述窗格。對象窗格以樹狀視圖的形式列出了當前瀏覽范圍中的所有組件:成員窗格顯示對應于左窗格中所選對象的所有成員;底部描述窗格顯示當前所選擇對象或成員的描述信息。在窗口左邊樹狀視圖中展開或收起對象節點并選擇要査看的對象,成員窗格中會顯示選擇對象的成員,包括函數和變量,描述窗格中將會顯示該對象的描述

信息,主要是成員的聲明信息。根據選擇內容,有時描述窗口中會顯示ー些超鏈接,單擊這些鏈接可以跳轉到相應的對象節點上。每次用戶作出ー個選擇時,對象瀏覽器都會記錄下來。因此可以通過【對象瀏覽器】工具欄上的前進/后退按鈕,回到瀏覽過的位置。對象窗格以樹狀視圖的形式顯示對象的層次結構,所以用戶可能瀏覽到級別很深的節點。對象窗格中可能包含大量的組件,因此,當用戶看到子節點上的某個對象并且想查看它的定義時,可能要花大量的時間。所以用戶也可以選擇要查看的対象節點,鼠標右鍵在快捷菜單中選擇【瀏覽定義】命令,【對象瀏覽器】窗口會定位到包含所選擇對象的頂級節點,展開這個頂級節點就可以查找相應的對象。【對象瀏覽器】窗口中還可以查看對象或成員的定義或聲明代碼,指定所要瀏覽的組件(即瀏覽范圍)以及查找特定的符號。在【對象瀏覽器】窗口中瀏覽對象和成員時,可以跳轉到代碼編輯器中查看它們的聲明和定義代碼。要査看詳細的對象或成員定義,選擇要査看的對象或成員,從快捷菜單中選擇【轉到定義】命令,在代碼編輯器中打開包含定義代碼的源文件,將輸入光標自動定位到代碼處。瀏覽范圍是指【對象瀏覽器】窗口中顯示和查找目標組件的對象。瀏覽范圍包括活動項□和選擇組件。活動項目瀏覽范圍允許用戶査看解決方案中當前選定項目的內容和它所引用的組件。每次改變活動項目時,【対象瀏覽器】窗口會及時更新反應出這種變化。在選擇組件瀏覽范圍中,可以選擇想要瀏覽的組件。5、屬性窗口屬性 ▼QXBlackJackForaSystem.Windows.Forms.Form▼畫幫同メ」日數據 ヘ0(ApplicationSettings田BlackJackForaSystem.Windows.Forms.Form▼畫幫同メ」日數據 ヘ0(ApplicationSettings田(DataBindings)Tag日外觀BackColor | |Control0Backgroundlmage QQQBlackjack.PropBackgroundlmageLayouStretchCursor Default0Font 宋體,9pt v【屬性】窗口由以下幾部分組Text與控件關聯的文本?成。對象名稱下拉列表框:在下拉列表框中選擇對象名稱。在【屬性】窗口的工具欄上可以設置顯示方式和顯示內容。【屬性】的工具欄上有3個可使用圖標按鈕,依次是【按分類排序】、【字母排序】、【事件】。中間的表格中,第一列顯示屬性名,第二列顯示屬性值。底部的提示部分顯示當前所選擇屬性的提示信息。【屬性】主要用來設計窗體或表單時顯示可視控件的屬性。可以在【屬性】中直接修改控件的屬性,這些修改直接體現在設計視圖上。在軟件開發中【屬性】和【屬性瀏覽器】一般結合使用。6、命令窗口和即時窗口命令窗ロ ▼QXお錯誤列表二]命令窗ロ在【命令窗口】模式ド,可以直接輸入并執行VisualStudio提供的各級命令,包括菜單中的命令以及沒有在菜單中出現的命令。使用這種方式不需要在菜單中ー級ー級搜索命令,而是在【命令窗口】中直接輸入命令名稱及參數就迅速執行。立即模式主要用于調試。在調式應用程序中,可以在【命令窗口】中計算表達式的值、查看和改變變量的值、調用函數和執行語句。【命令窗口】的命令模式用來直接執行VisualStudio開發環境提供的各種命令。當【命令窗ロ】處于命令模式下時,它的標題欄顯示為“命令窗口”,它和DOS命令行相似。【即時窗口】操作和功能與命令窗口類似,選擇【調試】I【窗口】I【即時】命令打開【即時窗口】。三、C#語言簡介C#(發音為C#sharp)是ー種簡單、現代、完全面向對象目.類型安全的編程語言。C#語言從C和C++語言演化而來,同時C#具備了應用快速開發(RapidApplicationDevelopment,RAD)語言的高效率和C++固有的強大能力,吸收了Java和Delphi等語言的特點和精華,是目前.NET開發的首選語言。1、C#的由來在過去的一段時間中,C和C++一直是商業軟件開發領域中最具有生命力的語言。它們為程序員提供了豐富的功能,高度的靈活性和強大的底層控制力,但是利用C/C++語言開發Windows應用程序顯然復雜了很多,同時也犧牲了?定的效率。與微軟推出的VisualBasic等語言相比,同等級別的C/C++語言的復雜性,因此不管是經驗豐富的程序員還是初涉編程的自學者都在試圖尋找ー種新的語言,希望在功能與效率之間找到ー個更為理想的平衡點。以前的有些語言,以犧牲靈活性的代價來提高效率。這些解決方案對編程人員的限制過多(如屏蔽一些底層代碼控制的機制),其所提供的功能能以令人滿意。這些語言無法方便地同系統交互,也無法很好地和當前的網絡編程相結合。對于C/C++用戶來說,最理想的解決方案無疑是在快速開發的同時又可以調用底層平臺的所有功能。他們想要一種和最新的網絡標準保持同步并且能和已有的應用程序良好整合的環境。另外,ー些C/C++開發人員還需要在必要的時候進行ー些底層的編程。針對這ー問題,微軟公司與2000年6月26日正式發布了C#oC#是一種最新的、面向對象的編程語言。C#使得程序員可以在Microsoft開發的最新的.NET平臺上快速地編寫Windows應用程序,而且Microsoft.NET提供了一系列的工具和服務來最大程度地開發和利用計算與通信領域。2、C#的特點正是由于C#面向對象的卓越設計,使它成為構建各類組件的理想之選——無論是高級的商業對象還是系統級的應用程序。使用簡單的C#語言結構,這些組件可以方便地在XML(可擴展標記語言)網絡服務中隨意轉化,從面使它們可以通過Internet在任何操作系統用任何語言在其上進行調用。更值得一提的是,C#并沒有因為其高效的開發功能而損失C/C++原有的強大功能。它忠實地繼承了C/C++的優點。C#還具備以下特點。1)簡潔易用的語法C#主要從C和C++繼承而來,同時吸收了Java和Delphi的優點,摒棄了C和C++中一些比較復雜的語法元素,如多父繼承。C#取消了C和C++中的指針,不允許直接對內存進行操作,讓代碼運行在安全的環境中2)自動的資源回收機制C#和.NET的完美集成,使得C#完成擁有.NET的自動回收機制。在Windows中,提供給程序使用的一切軟、硬件統稱為資源。比如程序中需要在窗口上畫圖的筆就是ー種資源,在早期的Windows版本中,程序使用完資源后應該及時釋放,否則會導致系統資源不足而運行變慢。在.NET中,由于資源使用完后由系統自動清理,所以編寫C#程序,不必小心翼翼地保證及時釋放資源,從而可以把更多的精力放在程序編寫的邏輯上。3)與Web緊密結合網上.辦公和電子商務在各行各業中得到越來越廣泛的應用,B/S模式程序的市場需求越來越多。在微軟的開發套件中,C#與ASP.NET是相互融合的。ASP.NET的應用程序可是使用VB.NET的語法,也可以使用C#語法。使用C#語法編寫的ASP.NET結構更嚴謹,運行更高效。由于有了Web服務框架的幫助,對程序員來說,網絡服務看起來就像是C#的本地對象。程序員能夠利用他們自己已有的面向對象的知識和技巧開發Web服務。僅需要使用簡單的C折吾言結構,C#組件就能夠方便地為Web服務,并允許它們通過!nternet被運行在任何操作系統上的任何語言調用。4)完整的安全性與錯誤處理語言上的安全性與錯誤處理能力,是衡量一種語言是否優秀的重要依據。任何人都會犯錯誤,即時最熟練的程序員也不例外,如忘記變量的初始化,對不屬于自己管理范圍的內存空間進行修改等。這些錯誤常常產生難以預見的后果。一旦這樣的軟件被投入使用,尋找和改正這些簡單錯誤的代價將會是讓人無法承受的。C#的先進思想可以消除軟件開發中的許多常見錯誤,并提供了包括類型安全在內的完整的安全性能。為了減少開發中的錯誤,C#幫助開發者通過更少的代碼完成相同的功能,這不但減輕了編程人員的工作量,同時更有效的避免了錯誤的發生。5)版本處理技術升級軟件系統中的組件(模塊)是一件容易產生錯誤的工作,在代碼修

改過程中可能對現存的軟件產生影響,很有可能導致程序的崩潰。為了幫助開發人員處理這些問題,C#在語言屮內置了版本控制功能。C#提供內置的版本支持來減少開發費用,使用C#將會使開發人員更加輕易地開發和維護各種商業軟件。6)靈活性和兼容性在簡化語法的同時,C#并沒有失去靈活性。盡管C#不是ー種無限制語言,比如:它不能用來開發硬件驅動程序,在默認狀態下沒有指針。但是,在學習過程中你將發現它仍然是那樣的靈巧。四、C#體驗初步1、創建項目1)2)3)4)5)6)選擇1)2)3)4)5)6)選擇[VisualC#]

新建項自打開VisualStudio2005創建項目,有三種方法:第一種:在【起始頁】中單擊【創建】。第二種:單擊【文件】菜單,選擇【新建】I【項目】創建。第三種:單擊工具欄上的【新建】按鈕,選擇【項目】創建在【項目類型】框內選中【VisualC#】項目下的【Windows】選項。在【模板】列表內選擇程序模板,如:【Windows應用程序】或【控制臺應用程序】項。在【位置】文本框右邊選擇【瀏覽】按鈕,選擇ー個文件夾對項目進行保存或直接在文本框內進行手動更改。在【名稱】名稱文本框內,輸入自己命名的項目名稱或使用系統默認。ン單擊窗口右下角的【確定】按鈕,建立所要編寫的應用程序。創建Windows應用程序模板①):Jヨ類庫VisualStudio模板①):Jヨ類庫VisualStudio/ズ勰板?m]Windows應用程序在這里修改項目名項目類型典,亞軸燃目‘す蕊鴉解決方案其他項目類型惻試項目用于創建具有?indows用戶顯]應用程序的項目名稱G): YindowsApplicatiohl位置[): D:\MyDocumentハVisualStudio2005'projects解決方案名稱?):*indgsApplistionl 叵!創建解決方案的目錄也)以上7個步驟是后面創建【控制臺應用程序】和【Windows應用程序】的前期步驟。2、創建控制臺應用程序K1-12創建第一個控制臺應用程序。1)創建【控制臺應用程序】一個控制臺應用程序,項目名稱為htTest;解決方案名稱默認,即和程序名稱相同htTest。2)在代碼區staticvoidMain(string[]args)后面的兩大括號之間輸入代碼。usingSystem;〃引用MS.NET框架類庫中名為System的命名空間usingSystem.Collections.Generic!〃本行在這里沒用,可以刪掉usingSystem.Text;〃本行在這里沒用,可以刪掉namespacehtTest〃用戶白定義的命名空間,默認和程序名相同(classProgram〃用戶自定義的類,默認為文件名(staticvoidMain(string[]args)〃C#程序的入口方法(Console.WriteLine(*HelloWorld!”);“I.屏幕丨.打印:HelloWorldConsole.ReadLineO;〃等待?個輸入運行結果:,代碼分析ヨ第一行usingSystem:引用Microsoft.NET框架的類庫中System命名空間,using命令可以使用輸入命名空間的類。第二、第三行代碼分別調用了System.Collections.GenericfUusingSystem.Text命名空間,在本程序中不用可以刪除;〃后面為注釋;C#中的分號(;)衰示一條語句的結束:花括號{}表示一組語句,有{開始必須有}結束:namespacehtTest為自定義的一個命名空間。namespace為命名空間聲明修飾符,htTest為命名空間名稱,可以選擇ー個認為合適的名稱;classProgram定メ—個類。class為類修飾符,Programe為自定義類名,為自定義名稱。staticvoidMain(string[]args)C#程序必須包含ー個Main方法,Main方法是程序的入口點,程序控制在該方法中開始和結束。該方法用來執行任務,并在任務完成后返回信息。Main方法在類的內部聲明,它必須有static關鍵字,表明是靜態方法。Void關鍵字表明該方法執行任務后不返回任何信息。Console.WriteLine(""HelloWorld!"");Console是調用的System命名空間中的類,WriteLine("”)是Consloe的方法,它作用是使計算機打印雙引號之間的字符串,我們將雙引號之間的字符通常稱為字符串。Console.ReadLine();ReadLine()是Console類的輸入方法之一,它用于輸入一個字符串,按Enter鍵結束輸入,這里使用是為了上句在屏幕上打印以后等待回車顯示再結束。編譯并運行程序。從IDE編譯并運行程序。按F5犍生成并運行(也可以選擇【調試】菜單中的【啟動】.第二章數據類型關鍵字和標識符常量和變量的定義和使用整數類型、實數類型和decimal、布爾類型數值類型轉換(隱式轉換和顯示轉換)在計算機中,應用程序也是耍處理各種不同類型的數據,如整數、小數和字符等,這些就稱為數據類型。我們來認識幾個常見的數據類型。int:表示整數,如1、20、?168,double:表示實數,如2.5、3.14.1926,-2889.23bool:表示一個布爾值,即真(true)和假(false)。char:表示字符,如‘a’、‘A’、‘3‘、string:表示字符串,如“HelloWorld!"、“我們一—起學習C#語言”。ー、 關鍵字和標識符1、關鍵字(keyword)上面講到“im”表示ー個整數,這說明對于C#編譯器來說,int有著特定的含義,它代表了整數類型。C#中一些被賦予特定的含義,具有專門用途的字符串稱為關鍵字,又叫保留字。C#關鍵字列表abstractExplicitNullStructasExternObjectSwitchbaseFalseOperatorThisboolFinallyOutThrowbreakFixedOverrideTrueByteFloatParamsTryCaseForPartialTypeofCatchForeachPrivateUintCharGetProtectedUlongCheckedGotoPublicUncheckedClassIfReadonlyUnsafeConstImplicitRefUshortContinueInReturnUsingDecimalIntSbyteValueDefaultInterfaceSealedVirtualDelegateInternalSetVolatileDoIsShortVoidDoubleLockSizeofWhereElseLongStackallocWhileEnumNamespaceStaticYieldEventNewString2,標識符(identifier)C#對各種變量、方法和類等要素命名時使用的字符列成為標識符。顧名思義,標識符是程序員己起名字的地方就叫標識符,標識符要遵守標識符的命名規則。不能與系統關鍵字重名。標識符由字母、下劃線、數字或中文組成。標識符應以字母、中文或下劃線開頭。標識符中間不能包含空格。C#標識符對大小寫敏感。例如:合法:numberOfstudent,i,abcll2,王老五,_name,Str_class以下不合法:$a,abc#〃除下劃線外不能使用特殊字符;2abc 〃標識符不能以數字開頭;string,if〃標識符不能使用系統關鍵字。二、 常量與變量程序中的數據包括常量和變量兩種,每個常量或變量都有數據類型。1、變量變量用于存儲特定數據類型的值。變量是存儲信息的單元,在計算機中它對應ー個內存空間。用變量名代表其存儲空間。程序能在變量中存儲值和取出值。C#是強類型語言。強類型語言要求程序設計時在使用數據之前必須對數據的類型進行聲明。在程序設計中很多的錯誤是發生在數據類型的誤用上,強類型語言能夠避免出現可能多的數據類型錯誤。另外,強類型語言能清楚的表達程序員命名的意圖,使代碼更具有可讀性。1)聲明變量變量用來存放數據,在使用變量前必須對它進行聲明。變量聲明的?般形式為:類型變量名例如:inti;〃聲明?個整型變量istringteacherName!〃聲明1個字符串變量intj,k,number!〃聲明3個整型變量2)變量賦值變量的賦值使用等號(“=”),變量聲明之后可以多次改變它的值。inti:〃聲明一個整型變量ii=100://把100賦值給ii=300I〃i的值變為300Console.WriteLine(i);stringstudentName="張ー?;intj=5:/Z定義了變量j,同時給它們賦值為5i=j=126;〃將i,j的值都變化為126Console.WriteLine(i);K運行結果:3SIC:\¥INDO¥S\syste>3....冋X300 1I126請按任意鍵繼續?.?丄!Il|LR代碼分析ヨ第一行打印1時,i的值為300,是本行打印之前的最后一次賦值i=300:第二行打印i的值為126。i=j=126I給i賦值126。2、常量在程序設計語言中,常量是指其值在程序中設置,在程序運行過程中不能在改變的值,比如圓周率。常量默認為靜態,所以不能再使用static修飾符。定義常量的關鍵字const,定義格式:[訪問修飾符]const數據類型常量名=常量值例如:constdoublePI=3.1415926;〃定義P!為雙精度數據類型的常量使用常量應注意以下幾點:?常量在聲明時初始化,其值不能再修改;?不能從變量中提取值來初始化常量;

為了閱讀方便,習慣上常量名用大寫字母表示;如果值是不變的,且有多處要使用該值建議該值定義為常量;常量使程序更易閱讀、修改,程序中只需要修改一處,在使用該常量的所有位置都起作用。constdoublePI=3.14;//定義常量P1值為3.14double為雙精度類型intr=10!〃定義整型變量并賦值為10doublearea=0I〃定義變Qarea,初始就值為〇area=r?r*PI:〃計算網的面積Console.WriteLine("半徑為{0}圓的面積為{1}:”,r,area);〃在屏幕上打印圓的面積r=5I 〃變量r重新賦值為5area=r*r*PI;〃計算圓的面積Console.WriteLine("半徑為{0}圓的面積為{1}:",r,area);〃在屏幕上打印網的面枳K運行結果』S1C:\TIHD0VS\systeB32\o...-C1X聿?聿?蘊曬翻翦之請接任意鍵繼續...第1行定義常量Pl并賦值;2ヽ3行定義T兩個變量intr和doublearea;第4行進行計算;第5行打印圓的半徑和面積;6、フ、8行作為圓的半徑r被重新賦值并重新計算圓的面積,輸出到。Console.WriteLine("半徑為{0}圓的面積為{1}:",r,area):中{0}、{1}為格式化輸出變量,{0}對應字符串后面的第1個變量r,{1}對應字符串后面的第2個變量area。三、 整數類型整型是類型最豐富的數據類型,其中字符型(char)也歸為整數類型,因為字符型變量保存的是字符的Unico加編碼值,字符型變量的值可以轉換成整數類型值。整型數據類型的豐富是為了有效利用計算機的內存資源。程序設計時,選用占用內存少的類型可以降低內存的消耗。sbyte8-bit有符號整數short16-bit有符號整數int32-bit有符號整數long64-bit有符號整數byte8-bit無符號整數ushort16-bit無符號整數uint32-bit無符號整數ulong64-bit無符號整數char字符類型,Unicode編碼簡單類型描述整型常量可以使用“じ’和“U”所組成的后綴,“U”代表無符號,“じ’代表64位整數,如ー125u、250ULo另外在代碼中使用整型常量1時,由于1符合以上任何ー種整數類型(char除外)的取值范圍,編譯器會把它當作哪ー個整型?C#有以下規則:1)如果該整數沒有后綴,則它屬于以下所列的類型中第1個能夠表示其值的類型:int、uint、long、ulong這表示編譯器會把1當作int類型。2)如果該整數帶有后綴U或u,則它屬于以下所列的類型中第1個能夠代表其值的哪個類型:uint、ulong〇3)如果該整數帶有后綴L或1,則它屬于以下所列的類型中第1個能夠代表其值的那個類型:long>unlong4)如果后綴帶有UL、LU,則它屬于ulong類型。U、L部分大小寫,建議都使用大寫字母。1、整數類型的取值范圍整型數據的取值范圍不需要死記硬背。每個類型都有最大值、最小值屬性。Console.WriteLine("int的最大取值為:MaxValue+"int的最小取值:"+int.MinValue);2、字符型數據字符型數據char屬于整數類型,但它是用來處理Unicode字符。Unicode字符是16位字符,用來表示世界上大多數已知的書面語言。Char變量以無符號16位數字的形式存儲,取值范圍為〇?65535.每個數字代表ー個Unicode字符。Unicode的前128個字符(〇?127)對應于鍵盤上的字母和符號,叫做ASCH碼。>字符常量C#的字符常量是單引號(即撇)括起來的字符,如:‘a'‘9’等,都是字符常量,‘ガ和,A’是不同的字符常量。C#還允許使用ー種特殊形式的字符常量,就是以ー個、開頭的字符序列。例如'\n,表示一個換行符。這種顯示非字符的使用難以用?般形式的字符表示,所以規定使用這種形式表示。我們把它稱為轉義字符。常用的以“ヽ”開頭的特殊字符轉義序列字符名稱UnicodeV單引號0x0027ド雙引號0x0022\\反斜杠OxOOSCW0空0x0000\a警報0x0007\b退格符0x0008\f換頁符OxOOOC\n換行符OxOOOA\r回車OxOOOD\t水平制表符0x0009\v垂直制表符OxOOOB轉義字符意思就是反斜杠'ヾ后面的字符轉變稱為另外的意義。由于'ヤ'在C#中已經表示轉移字符標識,如果要打印它,需要使用”\\"。Unicode編碼使用十六進制編碼代表相應的字符。‘\n’、’\x000A,,'\xA"和,\xa,是同一意思。Console.Write(*\x48\x65\x6c\x6f\r\n*);Console.Write(*\x57\x6f\x72\x6c\n*);K運行結果]]SIC:\VIND0VS\systeB32\...二口XHelo HiUorl*請按任意鍵繼續...±1I「代碼分析ヨ本例使用轉義字符在屏幕上打印’HelloWorld",多個轉義字符在ー起時可以把它們放在雙引號內。>字符變量字符變量用來存放字符常量,注意只能放ー個字符,ー個字符變量中只能存放一個字符常量。字符變量的定義方式:charcl,c2;cl和c2為字符變量,可以各放ー個字符,我們可以使用賦值語句:cl='a';c2='b'四、實數類型實數在C#語言中稱為浮點數。在程序中有2種表現形式。十進制數形式:十進制數由數字和小數點組成。。.158(也可以表示在.158)、125.0、〇〇等都是十進制形式的實數。指數形式:指數形式又叫科學計數法,如12363或123£3都代表123*10\E或e之前必須有數字,且E后的指數必須為整數。數據類型描述float32-bit單精度浮點數double64-bit雙精度浮點數decimal28個有效數字的128-bit十進制類型1、實型變量C#中有2種基本浮點格式:單精度和雙精度,float表示單精度浮點數,double表示雙精度浮點數。實型常量可以使用”F‘和''D”所組成的后綴。如果未使用后綴,默認為doublefloatf=123456789f;Console.WriteLine(f);f=12345.6789f;Console.WriteLine(f);K運行結果!]31C:\fIin)O¥S\syste...二口X1.234568E+08 ▲12345.68請按任意鍵繼續...■?1I 2J/K代碼分析]]從運行結果可以看出,float最多只能包含?位有效數字,數字123456789放入Jloat類型中將會被舍去最后2位。后3位進行舍入計算后變為800。于第二次賦值后,我們可以看到,經過舍入運算后,小數點后面保留2位.我們再看ー個例子:floatf=2.58f;doubled=f+6.1;Console.WriteLine(d);K運行結果》QQC:\¥IND0TS\systeB32...-□X8.67999992370605 一請按任意鍵繼續...?J<1 」 上!ンK代碼分析!]結果可能讓人驚訝,出現這種錯誤的原因是float的小數部分的存儲結構跟double不同〇/loat^double數字類型相加時將f轉換為double類型時出現偏差。由于默認把ー個小數當成double類型,所以應當盡量使用double進行運算而不Afloat〇浮點運算在超出范圍時不會拋出異常。Console.WriteLine(2e300*2e300):Console.WriteLine(100d/Od);Console.WriteLine(Od/Od);

(運行結果》Q1C:\VIND0VS\systeB3...二0X無無數按—

正正看<無無數按—

正正看<C:\WIND0WS\system32\K代碼分析》第1行代碼中,2e300*2e300結果超出了double的表示范圍,返回正無窮大;第2行除數不能為0結果也返回無窮大;第3行返回非數字又表示為NaN:注意^3行代碼運行時都沒有報錯。2、decimal類型decimal類型相比double具有更高精度的,適合財務和貨幣運算。它占用128位,范圍和精度大致為28?29位有效位。Decimal的后綴為m或M。如果沒有m,系統將自動被視為double,從而導致編譯錯誤。decimal類型在進行數學運算時,如果出現超出范圍或除零現象,將會拋出異常。五、字符串類型字符串是任何ー個應用程序使用最多的數據類型之一。字符串常量是由一對雙括號起來的字符序列。它和字符常量不同,字符常量表示的是ー個字符,字符串是字符的集合。字符串變量用來存放字符串常量,定義方式如ド:strings); 〃定義ー個字符串變量sistrings2ゴHelloWord”;〃定義ー個字符串變量s2,并進行初始化。1、可以使用加號(+)連接多個字符串成為ー個新的字符串。stringsi="Hello":strings2="World";si=sl+s2+"!":Console.WriteLine(sl);K輸出結果』Q]C:\VIND0VS\systea32\cB...一0XTOC\o"1-5"\h\zHelloWorld? 、」請按任意鍵繼續... コ<1I ],代碼分析ヨ定義變量sl,s2并分別賦值:第3行sl+s2+ッ通過+將變量sl,s2和常量”!”連接起來組成一個新的字符串,并將新字符串的值賦給變量3;第4行打印變量si的值到屏幕乙2、字符串的操作1)在程序中,ー個文件的路徑需要以字符串的形式來表示。如一個文件的完全路徑:“D:\Demo\C#basic\test.txt”,我們知道在字符串中、被當作轉義字符的標識。如果要表示一個、,必須使用\\,所以路徑名稱在中應該寫為"D:\\Demo\\C#basic\\test.txt“。或者使用@,@表示它后面所代表的是ー個文本,不處理轉義符。這樣路徑就可以寫為:@,,D:\\Demo\\C#basic\\test.txf,〇2)IndexOf。方法和しastIndexOf()方法這兩個方法是在字符串中搜索指定的字符或字符串索引。IndexOf。是從前向后搜索,LastlndexOf。是從后向前操作。strings="HelloWorld!Console.WriteLine(s.IndexOf("o"));Console.WriteLine(s.LastlndexOf("o"));Console.WriteLine(s.IndexOf("11"));Console.WriteLine(s.IndexOf("OK"));K運行結果1]國C:\¥INDO¥S\syste>3 ー冋x|472請按任意鍵繼續????ヨ±1 1「代碼分析)第2行,從前向后搜索字符〇在字符串中的位置,返回第一個出現〇的位置(字符串索引臓開始,即0位第一位);第3行,從后向前搜索,返回從后向前搜索字符串的第一個。的位置:第4行,從前向后搜索字符串II;第5行,從字符串中查找中ok,沒有找到,返回ー1,返回值一1表示無法找到匹配的字符或字符串。3、字符串的操作Trim()去掉字符串兩邊空格;ToUpper()方法把字符串內所有的字母轉為大寫。strings=*HelloWorld!”:Console.WriteLine(*[*+s+"]");s=s.TrimO;s=s.ToUpper();Console.WriteLine(*[*+s+*]*);R運行結果)]OSC:\¥IIDOfS\syste...一回X[HelloWorldf] .[HELLOWORLD?]請按任意鍵繼續?.?<1I お『代碼分析)第1、2行代碼顯示沒有進行方法處理的顯示結果:第3行去掉字符串前后的空格:第4行將變量s中的值統ー改為大寫。第5行顯示經過處理的數據結果。い為了明顯區別顯示結果。六、數據轉換數據類型轉換是指相互兼容的數據類型之間數值的相互轉換。例如,將一個整數類型變量賦值給一個雙精度類型變量:將一個雙精度類型變量賦值給ー個整數類型變量。數值類型轉換分為隱式轉換和顯示轉換。1、隱式轉換隱式轉換是指數據類型之間轉換不需強制類型說明就可以進行。隱式轉換是在C#內部實現轉換,不需要任何說明。隱式數據轉換表:從到sbyteshort>int、long、float、double或decimalbyteshort、ushort、int、uint、long>ulongfloat、double或decimalshortint>long、float>double或decimal□shortint、uint、long、ulong、float、double或decimalintlong、float、double或decimaluintlong>ulong、float>double或decimallongfloat>double或decimalcharushort、int、uint、long、ulong、float.double或decimalfloatdoubleulongfloat、double或decimal如:doubled=10f+9+,a,+2.5s由于等號左邊變量d是ー個double類型,所以右邊表達式的計算結果必須是ー個double類型.由于各種數據類型之間無法進行混合運算,所以在運算之前,必須把每個數據轉換為同一種同時可以包容這幾種數據的類型,由于2.5是double型,所有類型將先轉換為double型后オ進行計算。①10f是?個float類型,它將被隱式地轉化為double型再進行運算。②9被計算機默認為int,在這里也需要被隱式地轉化為double型。③‘ガ是ー個字符型數值,它的本質是ー個16位無符號整數,也可以隱式地轉化為double型。‘a'的Unicode編碼是97,這里將被轉化為雙精度浮點數97.④2.5是實型常數,沒有后綴,計算機默認為double,不需要進行轉化。最終,表達式將轉化為:10d+9d+97d+2.5d,運行結果為118.5〇對于數字而言,占用空間小的類型到占用類型大的或者空

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論