-C與Visual-Studio開(kāi)發(fā)環(huán)境學(xué)習(xí)資料_第1頁(yè)
-C與Visual-Studio開(kāi)發(fā)環(huán)境學(xué)習(xí)資料_第2頁(yè)
-C與Visual-Studio開(kāi)發(fā)環(huán)境學(xué)習(xí)資料_第3頁(yè)
-C與Visual-Studio開(kāi)發(fā)環(huán)境學(xué)習(xí)資料_第4頁(yè)
-C與Visual-Studio開(kāi)發(fā)環(huán)境學(xué)習(xí)資料_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第二章C#與Visual Studio開(kāi)發(fā)環(huán)境本章將從C#語(yǔ)言和.NET技術(shù)的概貌入手,依次介紹Visual Studi.集成開(kāi)發(fā)環(huán)境和 C#程序的組成結(jié)構(gòu).2.1 C#語(yǔ)言與.NET技術(shù)簡(jiǎn)介C語(yǔ)言曾經(jīng)是最為流行的一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,C+那么在C的根底上增加了對(duì)面向?qū)ο蟮闹С?但嚴(yán)格說(shuō)來(lái),C+并不是完全面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言;為了和 C語(yǔ)言 相兼容,C+保存了許多低級(jí)特性,因此具有較大的靈活性和較強(qiáng)的底層限制水平.不過(guò),這種 靈活性和限制水平也是一把“雙刃劍,它導(dǎo)致了 C+學(xué)習(xí)困難、程序過(guò)于復(fù)雜、平安性難以保證等問(wèn)題.正如低級(jí)語(yǔ)言被高級(jí)語(yǔ)言逐步取代一樣,程序設(shè)計(jì)語(yǔ)言的開(kāi)展就是不斷增強(qiáng)抽象描

2、述能力、屏蔽底層實(shí)現(xiàn)細(xì)節(jié)、 提升軟件生產(chǎn)效率的過(guò)程.隨著面向?qū)ο蟮膬?yōu)越性被廣泛接受,人 們需要更加符合現(xiàn)代軟件開(kāi)發(fā)要求的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,C#因此應(yīng)運(yùn)而生.它汲取了C+、Java、Delphi等多種語(yǔ)言的精華,具有語(yǔ)法簡(jiǎn)潔、類(lèi)型平安和完全面向?qū)ο蟮忍攸c(diǎn), 自2000年一經(jīng)推出便取得了巨大的成功.C#語(yǔ)言簡(jiǎn)單易學(xué),它將內(nèi)存治理、設(shè)備驅(qū)動(dòng)、限制優(yōu)化等底層操作交給.NET Framework 實(shí)現(xiàn),這樣開(kāi)發(fā)人員就能夠把注意力集中在問(wèn)題模型和程序邏輯上,而不必去關(guān)心過(guò)多的底層細(xì)節(jié).概才地說(shuō), .NET是一個(gè)建立在開(kāi)放網(wǎng)絡(luò)協(xié)議和標(biāo)準(zhǔn)之上的計(jì)算平臺(tái),.NETFramework那么是平臺(tái)上的根底編程框架

3、,它由以下兩個(gè)局部組成.公共語(yǔ)言運(yùn)行時(shí)(Common Language Runtime , CLR).它提供了 .NET應(yīng)用程序運(yùn) 行時(shí)環(huán)境,負(fù)責(zé)治理代碼的執(zhí)行、提供元數(shù)據(jù)類(lèi)型支持和各種系統(tǒng)效勞.NET類(lèi)庫(kù).它定義了功能豐富的類(lèi)型集合,能夠?yàn)閼?yīng)用程序提供根本類(lèi)型、通用 數(shù)據(jù)結(jié)構(gòu)、Windows和 Web界面設(shè)計(jì)、數(shù)據(jù)庫(kù)訪問(wèn)、XML Web Service、異常處理等各種組件效勞.NET Framework 支持 C#、Visual Basic、Java、Visual C+.NET 等多種語(yǔ)言,這些高級(jí) 語(yǔ)言代碼會(huì)被編譯為通用中間語(yǔ)言(Intermediate Language, IL)代碼,該

4、語(yǔ)言類(lèi)似于低級(jí)語(yǔ)言,但其代碼與具體的硬件平臺(tái)無(wú)關(guān);之后CLR再針對(duì)特定的平臺(tái)將IL程序譯為機(jī)器指令,加載所需要的資源并治理程序的執(zhí)行.這也使得.NET平臺(tái)上不同語(yǔ)言能夠方便進(jìn)行通信,解決了困擾人們已久的多語(yǔ)言集成的難題.隨著C#語(yǔ)言的流行和用戶的增加,C#也得到了不斷的改良和完善.2005年C#升級(jí)到了 2.0版本,其最大的特點(diǎn)是增加了對(duì)泛型程序設(shè)計(jì)( Generic Programming )的支持.2021 年C#正式升級(jí)為3.0版本,其中增加了 Lambda表達(dá)式、隱式類(lèi)型、擴(kuò)展方法等特性,從而 支持一種全新的面向?qū)ο蟮臄?shù)據(jù)訪問(wèn)模型,即LINQ ( Language Integrated

5、 Query)模型.NETFramework也隨之進(jìn)行了相應(yīng)的版本升級(jí),為 .NET應(yīng)用開(kāi)發(fā)提供了更有效的支持.2.2 Visual Studio開(kāi)發(fā)環(huán)境2.2.1 集成開(kāi)發(fā)環(huán)境概述Visual Studio集成開(kāi)發(fā)環(huán)境將代碼編輯器、編譯器、調(diào)試器、圖形界面設(shè)計(jì)器等工具和 效勞集成在一個(gè)環(huán)境中,能夠有效提升軟件開(kāi)發(fā)的效率.Visual Studio.NET是最流行的.NET應(yīng)用程序集成開(kāi)發(fā)環(huán)境,開(kāi)發(fā)的每一個(gè)程序集對(duì)應(yīng) 一個(gè)工程(Project),而多個(gè)相關(guān)的工程又可以組成一個(gè)解決方案( Solution).啟動(dòng)Visual Studio.NET開(kāi)發(fā)環(huán)境,可以看到如圖2-1所示的主界面,主要包括

6、以下幾個(gè) 局部.菜單欄:位于標(biāo)題欄的下方,其中包含了用于開(kāi)發(fā)、維護(hù)、編譯、運(yùn)行和調(diào)試程序以及配置開(kāi)發(fā)環(huán)境的各項(xiàng)命令.工具欄:位于菜單欄的下方,提供了常用命令的快捷方式.代碼編輯區(qū):位于開(kāi)發(fā)環(huán)境中央,是編輯代碼和設(shè)計(jì)程序的主要區(qū)域.輸出窗口:位于代碼編輯區(qū)的下方,用于輸出當(dāng)前操作的結(jié)果.解決方案資源治理器:位于開(kāi)發(fā)環(huán)境的右側(cè),它通過(guò)樹(shù)形視圖對(duì)當(dāng)前解決方案進(jìn)行 治理,解決方案是樹(shù)的根節(jié)點(diǎn),解決方案中的每一個(gè)工程都是根節(jié)點(diǎn)的子節(jié)點(diǎn),項(xiàng)目節(jié)點(diǎn)下那么列出了該工程中使用的各種文件、引用和資源.效勞器資源治理器:位于開(kāi)發(fā)環(huán)境的左側(cè),用于快速訪問(wèn)本地或網(wǎng)絡(luò)上的各項(xiàng)效勞器資源.屬性窗口:位于解決方案資源治理器的

7、下方,用于查看或編輯當(dāng)前所選元素的具體信息.狀態(tài)欄:位于開(kāi)發(fā)環(huán)境的底部,用于對(duì)光標(biāo)位置、編輯方式等當(dāng)前狀態(tài)給出提示.圖2-1 Visual Studio集成開(kāi)發(fā)環(huán)境圖2-1給出的是Visual Studio各窗口的默認(rèn)位置,用戶可以根據(jù)需要來(lái)移動(dòng)、調(diào)整、打開(kāi)或關(guān)閉,或是通過(guò)“視圖菜單來(lái)限制它們的顯示;其中大局部窗口還可以通過(guò)選項(xiàng)卡的 方式切換,如代碼編輯區(qū)可一次翻開(kāi)多個(gè)源文件,這就能最大程度地利用有限的屏幕空間. 其他常用的窗口還有治理程序中的類(lèi)及其關(guān)系的類(lèi)視圖、作為控件集合的工具箱等.Visual Studio解決方案將被保存為.sln文件,而單個(gè)C#程序工程那么會(huì)被保存為.csproj文

8、件.接下來(lái)介紹使用 Visual Studio創(chuàng)立4中根本的C#應(yīng)用程序的步驟.2.2.2 創(chuàng)立限制臺(tái)應(yīng)用程序如果要在Visual Studio開(kāi)發(fā)環(huán)境中創(chuàng)立程序 P2_1,可以通過(guò)菜單命令“文件| “新建| “工程翻開(kāi)如圖 2-2所示的對(duì)話框,在左側(cè)的“工程類(lèi)型視圖中選擇“ Visual C#",在 右側(cè)的“模板視圖中選擇“限制臺(tái)應(yīng)用程序模板,輸入工程名稱(P2_1),必要時(shí)可以指定工程存放的位置及所屬的解決方案,之后單擊“確定按鈕,此時(shí) Visual Studio就會(huì)自 動(dòng)完成下面的工作.(1)將.NET類(lèi)庫(kù)中的根本程序集添加到工程引用中.(2)生成C#源文件program.cs

9、,其中包含對(duì)常用命名空間的引用,以及程序命名空間、 主程序類(lèi)和Main方法的根本框架.(3)生成工程配置文件,在其中保存工程的根本信息.圖2-2 “新建工程對(duì)話框之后開(kāi)發(fā)人員就可以編輯源文件中的程序代碼,必要時(shí)可以增加源文件、 程序集引用和其他資源,并通過(guò)菜單命令編譯和運(yùn)行程序.此外,使用快捷鍵F6可以直接編譯程序,使用快捷鍵F5可以直接運(yùn)行程序,使用快捷鍵 Ctrl+F5可以不調(diào)試而直接運(yùn)行程序.2.2.3 創(chuàng)立和使用動(dòng)態(tài)鏈接庫(kù)程序如果要?jiǎng)?chuàng)立動(dòng)態(tài)鏈接庫(kù)程序,可以在圖2-2所示的“新建工程對(duì)話框中選擇“類(lèi)庫(kù)模板,之后同樣可以編寫(xiě)代碼來(lái)定義各種類(lèi)型及其成員.不過(guò)此類(lèi)工程只能編譯成動(dòng)態(tài)鏈接庫(kù)文件,

10、而不能直接運(yùn)行.2.2.4 創(chuàng)立 Windows應(yīng)用程序如果要?jiǎng)?chuàng)立 Windows應(yīng)用程序,可在圖2-2所示的"新建工程對(duì)話框中選擇"Windows 應(yīng)用程序模板.這時(shí) Visual Studi.會(huì)為工程生成兩個(gè) C#源程序文件,一個(gè)是 Form1.cs; 在解決方案資源治理器中雙擊該文件即可以翻開(kāi)窗體設(shè)計(jì)視圖,如圖2-3所示,此時(shí)在VisualStudio工具箱中可以看到一系列可用的Windows窗體控件,其中“公用控件選項(xiàng)卡下面包含了按鈕、文本框、單項(xiàng)選擇框等常用的Windows控件,通過(guò)鼠標(biāo)拖放操作就可以把這些控件添加到窗體上.=二同箝3 Yt f7.1 finh指計(jì)

11、I叱 App5 tyL 1 e llttRi inabAju n-Qit i ciC4xti.T ol111 tr aDr opD-o witBut tenA UltriF i>rms( t* dLi MtHl/ Ifltr.aF oimit teATeitEdi torlELtrajroupEax: 111 trErandahi rfsrnjpl-nxA Vltr一 Vlti aFl cLayoutM ai.a<erOtrsGri 獨(dú)&亂2陽(yáng)口川 aaagjTr-Vltr -aP »pipC sixtFQLC'Cntft,.VltriiFr ini tr

12、tvi wv、IQ tr iPr i nl. Pr*i v7 hiinb.工 | llltr11 uW ezvif ci-消息f.冽rutii前口m 社區(qū)© 解助討電雪苗捺密口二®itl - x<售處方家資遍-斗x工程aj多團(tuán)臼直品 季 P2_W必 4父?Pr oj:4r<i as用 J引用用二| forrrl. cs回 ftogrbji . cs+ Vi f=naT Stnrfin文件如編Hfl iej樹(shù)明Of/目區(qū)中感生調(diào)iiOD救怛®.J -二“./,* I& 山"|'.而擊lELtraChisrt曾屈性9霹浜才集賢一圖

13、2-3工具箱與窗體設(shè)計(jì)視圖另一個(gè)是文件是 program.cs,其中定義了包含 Main方法的主程序類(lèi) program,其代碼如 下.using System;using System.Collections.Generic;using System.Windows.Forms;namespace P2_3一static class Programstatic void Main()Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new F

14、orm1();代碼中的Application類(lèi)表示當(dāng)前的 Windows應(yīng)用程序,其Run方法用于在程序啟動(dòng)時(shí)翻開(kāi)主窗體 Form1,它和Form類(lèi)都在System.Windows.Forms命名空間下定義.2.2.5 創(chuàng)立ASP.NETW站程序在Visual Studio中還可以方便地創(chuàng)立 ASP.NET應(yīng)用程序.通過(guò)菜單命令“文件| “新建 | “網(wǎng)站翻開(kāi)如圖2-4所示的對(duì)話框,在“模板列表中選擇“ ASP.NET網(wǎng)站選項(xiàng), 在“語(yǔ)言下拉列表框中選擇 “Visual C#"選項(xiàng),必要時(shí)指定工程的存放位置,然后單擊“確定按鈕,Visual Studio就會(huì)創(chuàng)立一個(gè)根本的網(wǎng)站框架,包

15、括一個(gè)網(wǎng)站配置文件web.config和一個(gè)默認(rèn)網(wǎng)頁(yè) Default.aspx.選中當(dāng)前工程,通過(guò)菜單命令“網(wǎng)站| “添加新項(xiàng),在翻開(kāi)的對(duì)話框中選擇“ Web窗體,就可以向工程中參加新的網(wǎng)頁(yè).圖2-4 “新建網(wǎng)站對(duì)話框ASP.NET網(wǎng)站工程的每一個(gè)網(wǎng)頁(yè)都包含兩個(gè)文件:一個(gè)設(shè)計(jì)文件后綴為.aspx和一個(gè)C#源代碼文件后綴為.aspx.cs.翻開(kāi)一個(gè)網(wǎng)頁(yè)設(shè)計(jì)文件,此時(shí)在Visual Studio工具箱中可以看到一系列可用的Web窗體控件,如按鈕、文本框、單項(xiàng)選擇框等,通過(guò)鼠標(biāo)的拖放操作可以把這些控件添加到網(wǎng)頁(yè)中.2.3 C#程序的根本結(jié)構(gòu)下面先看一個(gè)非常簡(jiǎn)單的C#程序,它用于在屏幕上輸出一行文字“

16、歡送光臨程序P2_1using System;namespace P2_1public class programpublic static void MainConsole.WriteLine歡送光臨!"可在任何一種文本編輯器如記事本或Microsoft Word 中輸入上述代碼,將其保存為文件“P2_1.cs"后綴.cs表示C#源程序文件,而后翻開(kāi)命令行窗口,使用C#編譯器csc.exe編譯程序必要時(shí)指定源文件所在的目錄就能生成可執(zhí)行文件 P2_1.exe.程序的編譯和運(yùn)行結(jié)果如圖2-1所示.圖2-5編譯和執(zhí)行 C#程序P2_1接下來(lái)分析一下該程序的根本結(jié)構(gòu).2.3.1

17、 注釋程序P2_1的第一行以兩個(gè)反斜杠“ /開(kāi)頭,表示程序的注釋,在它同行右邊的內(nèi)容 會(huì)被編譯器忽略,不對(duì)程序的運(yùn)行產(chǎn)生任何影響.如果要寫(xiě)多行注釋,可以每一行都以“/ 開(kāi)頭,或是將所有的注釋內(nèi)容都放在一對(duì)標(biāo)記“/*和“*/之間,例如:/*程序P2_1該程序的歷能是在屏幕上輸出一行文字“歡送光臨! */但多行注釋標(biāo)簽不可以嵌套.例如,對(duì)于下面的代碼,編譯器會(huì)將第一行開(kāi)頭的“/*到第二行末尾的“ */之間的內(nèi)容視為注釋,將第三行的“*/視為非法代碼./*程序P2_1/*該程序的功能是在屏幕上輸出一行文字“歡送光臨! */*/注釋可以出現(xiàn)在程序代碼的任何位置,主要用于對(duì)代碼的功能和用途進(jìn)行說(shuō)明,從而

18、提高程序的可讀性,便于理解和修改程序.程序員都應(yīng)當(dāng)養(yǎng)成注釋代碼的良好習(xí)慣.2.3.2 命名空間程序中常常需要定義很多的類(lèi)型,為了便于類(lèi)型的組織和治理,C#引入了命名空間的概念.一組類(lèi)型可以屬于一個(gè)命名空間,而一個(gè)命名空間也可以嵌套在另一個(gè)命名空間種, 從而形成一個(gè)邏輯層次結(jié)構(gòu),這就好比目錄式的文件系統(tǒng)組織方式.程序P2_1的第二行通過(guò)關(guān)鍵字 “using引用了一個(gè).NET類(lèi)庫(kù)中的命名空間 “System, 之后程序就可以自由使用該命名空間下定義的各種類(lèi)型了.程序的第三行那么通過(guò)關(guān)鍵字“namespace'定義了一個(gè)新白命名空間“P2_1,在其后的一對(duì)大括號(hào)“ 中定義的所有類(lèi)型都屬于該命

19、名空間.命名空間的使用還有利于防止命名沖突.不同開(kāi)發(fā)人員可能會(huì)使用同一個(gè)名稱來(lái)定義不同的類(lèi)型,在程序相互調(diào)用時(shí)可能會(huì)產(chǎn)生混淆,而將這些類(lèi)型放在不同的命名空間中就可以解決此問(wèn)題.2.3.3 類(lèi)型及其成員在C#引用中,類(lèi)是最為根本的一種數(shù)據(jù)類(lèi)型,類(lèi)的屬性也叫“字段field ,類(lèi)的操作,即"方法"method.類(lèi)使用關(guān)鍵字“class來(lái)定義,程序P2_1就定義了一個(gè)名為“program 的類(lèi),并為其定義了一個(gè)方法“ Main,在其中執(zhí)行文本輸出的功能:public static void MainConsole.WriteLine歡送光臨!;這里Main方法的功能是通過(guò)調(diào)用Co

20、nsole類(lèi)的WriteLine方法來(lái)完成的. WriteLine方法的輸入?yún)?shù)是用一對(duì)雙引號(hào)括起來(lái)的字符串,表示要輸出顯示的文本.如果要顯示定義的字符串對(duì)象,Main方法中的代碼可以改寫(xiě)如下:string s=歡送光臨!Console.WriteLines;Console類(lèi)是.NET類(lèi)庫(kù)的System命名空間下定義的一個(gè)類(lèi),表示對(duì)限制臺(tái)窗口的抽象.由于程序一經(jīng)引用了該命名空間,因此 Main方法的代碼中可以直接使用該類(lèi).如果輸出程 序的第二行,在使用 Console類(lèi)時(shí)還需要指定該類(lèi)所屬的命名空間,如下:System.Console.WriteLine歡送光臨!力Console類(lèi)是限制臺(tái)應(yīng)用

21、程序與用戶交互的根底,表2-1列出了一些常用的輸入輸出方法.表2-1 Console類(lèi)常用成員方法方法輸入?yún)?shù)返回值作用Read無(wú)整數(shù)讀入下一個(gè)字符ReadKey無(wú)ConsoleKeyInfo 對(duì)象讀入下一個(gè)字符ReadLIne無(wú)字符串讀入一行文本,生換行符結(jié)束Write任意對(duì)象無(wú)輸行文本W(wǎng)riteLine任意對(duì)象無(wú)輸出,仃文本,并換仃同理,在其他程序中使用程序P2_1中的program類(lèi)也可以采用這兩種方式:一是直接使用全稱“P2_1.program" ;二是先在其他程序中引用命名空間P2_1,然后使用簡(jiǎn)稱program o不過(guò),如果存在命名空間沖突,那么就必須使用全稱來(lái)加以區(qū)分.

22、程序P2_1雖然簡(jiǎn)單,但我們從中看到了 C#應(yīng)用程序的根本結(jié)構(gòu):命名空間下包含類(lèi), 類(lèi)可以包含成員數(shù)據(jù)字段和成員函數(shù)方法 ,方法中又包含執(zhí)行代碼.這種包含關(guān)系 都是通過(guò)一對(duì)大括號(hào)來(lái)表示的.2.3.4 程序的主方法程序的功能是通過(guò)執(zhí)行方法代碼來(lái)實(shí)現(xiàn)的,每個(gè)方法都是從其第一行代碼開(kāi)始執(zhí)行,直到執(zhí)行完最后一行代碼結(jié)束,期間可以通過(guò)代碼來(lái)調(diào)用其他的方法,從而完成各種各樣的操作.應(yīng)用程序的執(zhí)行必須要有一個(gè)起點(diǎn)和一個(gè)終點(diǎn).C#程序的起點(diǎn)和終點(diǎn)都是由Main方法定義的,程序總是從Main方法的第一行代碼開(kāi)始執(zhí)行,在 Main方法結(jié)束時(shí)停止程序的運(yùn)行.因此,對(duì)于C#可執(zhí)行程序,其中必須有一個(gè)類(lèi)定義了Main方法,編譯器會(huì)確定該方法作為程序的入口.如果多個(gè)類(lèi)中都定義了Main方法,那么還要明確指定其中一個(gè)作為主方法.例如,下面的編譯命令使用main選項(xiàng)將program類(lèi)中的Main方法作為程序的主方法.csc /main:program P2_1.cs2.3.5 程序集人們使用代碼編寫(xiě)的是源程序文件,它必須通

溫馨提示

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

評(píng)論

0/150

提交評(píng)論