




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C#語法表現(xiàn)力強(qiáng),而且簡單易學(xué)。C#的大括號(hào)語法使任何熟悉C、C++或Java的人都可以立即上手。了解上述任何一種語言的開發(fā)人員通常在很短的時(shí)間內(nèi)就可以開始使用C#高效地進(jìn)行工作。C#語法簡化了C++的諸多復(fù)雜性,并提供了很多強(qiáng)大的功能,例如可為null的值類型、枚舉、委托、lambda表達(dá)式和直接內(nèi)存訪問,這些都是Java所不具備的。C#支持泛型方法和類型,從而提供了更出色的類型安全和性能。C#還提供了迭代器,允許集合類的實(shí)施者定義自定義的迭代行為,以便容易被客戶端代碼使用。在C#3.0中,語言集成查詢(LINQ)表達(dá)式使強(qiáng)類型查詢成為了一流的語言構(gòu)造。作為一種面向?qū)ο蟮恼Z言,C#支持封裝、繼承和多態(tài)性的概念。所有的變量和方法,包括Main方法(應(yīng)用程序的入口點(diǎn)),都封裝在類定義中。類可能直接從一個(gè)父類繼承,但它可以實(shí)現(xiàn)任意數(shù)量的接口。重寫父類中的虛方法的各種方法要求override關(guān)鍵字作為一種避免意外重定義的方式。在C#中,結(jié)構(gòu)類似于一個(gè)輕量類;它是一種堆棧分配的類型,可以實(shí)現(xiàn)接口,但不支持繼承。除了這些基本的面向?qū)ο蟮脑碇?,C#還通過幾種創(chuàng)新的語言構(gòu)造簡化了軟件組件的開發(fā),這些結(jié)構(gòu)包括:封裝的方法簽名(稱為“委托”),它實(shí)現(xiàn)了類型安全的事件通知。屬性(Property),充當(dāng)私有成員變量的訪問器。屬性(Attribute),提供關(guān)于運(yùn)行時(shí)類型的聲明性元數(shù)據(jù)。內(nèi)聯(lián)XML文檔注釋。語言集成查詢(LINQ),提供了跨各種數(shù)據(jù)源的內(nèi)置查詢功能。在C#中,如果必須與其他Windows軟件(如COM對象或本機(jī)Win32DLL)交互,則可以通過一個(gè)稱為“互操作”的過程來實(shí)現(xiàn)。互操作使C#程序能夠完成本機(jī)C++應(yīng)用程序可以完成的幾乎任何任務(wù)。在直接內(nèi)存訪問必不可少的情況下,C#甚至支持指針和“不安全”代碼的概念。C#的生成過程比C和C++簡單,比Java更為靈活。沒有單獨(dú)的頭文件,也不要求按照特定順序聲明方法和類型。C#源文件可以定義任意數(shù)量的類、結(jié)構(gòu)、接口和事件。下列各項(xiàng)是其他C#資源:有關(guān)該語言的充分常規(guī)介紹,請參見C#語言規(guī)范的第1章。有關(guān)C#語言特定方面的詳細(xì)信息,請參見C#參考。有關(guān)C#語法與Java和C++語法的比較,請參見C#編程語言(針對Java開發(fā)人員)和C#(針對C++開發(fā)人員)。有關(guān)LINQ的更多信息,請參見語言集成查詢(LINQ)。若要查找VisualC#團(tuán)隊(duì)提供的最新文章和資源,請?jiān)L問VisualC#開發(fā)中心。
.NETFramework平臺(tái)體系結(jié)構(gòu)C#程序在.NETFramework上運(yùn)行,它是Windows的一個(gè)不可或缺的組件,包括一個(gè)稱為公共語言運(yùn)行庫(CLR)的虛擬執(zhí)行系統(tǒng)和一組統(tǒng)一的類庫。CLR是Microsoft的公共語言基礎(chǔ)結(jié)構(gòu)(CLI)的商業(yè)實(shí)現(xiàn)。CLI是一種國際標(biāo)準(zhǔn),是用于創(chuàng)建語言和庫在其中無縫協(xié)同工作的執(zhí)行和開發(fā)環(huán)境的基礎(chǔ)。用C#編寫的源代碼被編譯為一種符合CLI規(guī)范的中間語言(IL)。IL代碼與資源(例如位圖和字符串)一起作為一種稱為程序集的可執(zhí)行文件存儲(chǔ)在磁盤上,通常具有的擴(kuò)展名為.exe或.dll。程序集包含清單,它提供有關(guān)程序集的類型、版本、區(qū)域性和安全要求等信息。執(zhí)行C#程序時(shí),程序集將加載到CLR中,這可能會(huì)根據(jù)清單中的信息執(zhí)行不同的操作。然后,如果符合安全要求,CLR就會(huì)執(zhí)行實(shí)時(shí)(JIT)編譯以將IL代碼轉(zhuǎn)換為本機(jī)機(jī)器指令。CLR還提供與自動(dòng)垃圾回收、異常處理和資源管理有關(guān)的其他服務(wù)。由CLR執(zhí)行的代碼有時(shí)稱為“托管代碼”,它與編譯為面向特定系統(tǒng)的本機(jī)機(jī)器語言的“非托管代碼”相對應(yīng)。下圖闡釋了C#源代碼文件、.NETFramework類庫、程序集和CLR的編譯時(shí)與運(yùn)行時(shí)的關(guān)系。Attributes,whichprovidedeclarativemetadataabouttypesatruntime.InlineXMLdocumentationcomments.Language-IntegratedQuery(LINQ)whichprovidesbuilt-inquerycapabilitiesacrossavarietyofdatasources.IfyouhavetointeractwithotherWindowssoftwaresuchasCOMobjectsornativeWin32DLLs,youcandothisinC#throughaprocesscalled"Interop."InteropenablesC#programstodoalmostanythingthatanativeC++applicationcando.C#evensupportspointersandtheconceptof"unsafe"codeforthosecasesinwhichdirectmemoryaccessisabsolutelycritical.TheC#buildprocessissimplecomparedtoCandC++andmoreflexiblethaninJava.Therearenoseparateheaderfiles,andnorequirementthatmethodsandtypesbedeclaredinaparticularorder.AC#sourcefilemaydefineanynumberofclasses,structs,interfaces,andevents.ThefollowingareadditionalC#resources:Foragoodgeneralintroductiontothelanguage,seeChapter1oftheC#LanguageSpecification.FordetailedinformationaboutspecificaspectsoftheC#language,seetheC#Reference.ForacomparisonofC#syntaxtoJavaandC++,seeTheC#ProgrammingLanguageforJavaDevelopersandC#forC++Developers.FormoreinformationaboutLINQ,see
Language-IntegratedQuery(LINQ).TofindthelatestarticlesandresourcesfromtheVisualC#team,seetheVisualC#DeveloperCenter.
.NETFrameworkPlatformArchitectureC#programsrunonthe.NETFramework,anintegralcomponentofWindowsthatincludesavirtualexecutionsystemcalledthecommonlanguageruntime(CLR)andaunifiedsetofclasslibraries.TheCLRisthecommercialimplementationby
Microsoftofthecommonlanguageinfrastructure(CLI),aninternationalstandardthatisthebasisforcreatingexecutionanddevelopmentenvironmentsinwhichlanguagesandlibrariesworktogetherseamlessly.SourcecodewritteninC#iscompiledintoanintermediatelanguage(IL)thatconformstotheCLIspecification.TheILcodeandresources,suchasbitmapsandstrings,arestoredondiskinanexecutablefilecalledanassembly,typicallywithanextensionof.exeor.dll.Anassemblycontainsamanifestthatprovidesinformationabouttheassembly'stypes,version,culture,andsecurityrequirements.WhentheC#programisexecuted,theassemblyisloadedintotheCLR,whichmighttakevariousactionsbasedontheinformationinthemanifest.Then,ifthesecurityrequirementsaremet,theCLRperformsjustintime(JIT)compilationtoconverttheILcodetonativemachineinstructions.TheCLRalsoprovidesotherservicesrelatedtoautomaticgarbagecollection,exceptionhandling,andresourcemanagement.CodethatisexecutedbytheCLRissometimesreferredtoas"managedcode,"incontrastto"unmanagedcode"whichiscompiledintonativemachinelanguagethattargetsaspecificsystem.Thefollowingdiagramillustratesthecompile-timeandrun-timerelationshipsofC#sourcecodefiles,the.NETFrameworkclasslibraries,assemblies,andtheCLR.Languageinteroperabilityisakeyfeatureofthe.NETFramework.BecausetheILcodeproducedbytheC#compilerconformstotheCommonTypeSpecification(CTS),ILcodegeneratedfromC#caninteractwithcodethatwasgeneratedfromthe.NETversionsofVisualBasic,VisualC++,VisualJ#,oranyofmorethan20ot
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年武警安徽總隊(duì)醫(yī)院招聘41人考前自測高頻考點(diǎn)模擬試題及答案詳解(歷年真題)
- 2025年柳州市市級(jí)機(jī)關(guān)公開遴選考試真題
- 2025年上海市寶山區(qū)羅店中心校實(shí)習(xí)生招募模擬試卷及答案詳解參考
- 表面(化學(xué))熱處理工職業(yè)技能競賽參與考核試卷及答案
- 2025年福建省寧德市霞浦縣實(shí)驗(yàn)幼兒園招聘若干人考前自測高頻考點(diǎn)模擬試題及參考答案詳解一套
- 公司橋梁工崗位設(shè)備安全技術(shù)規(guī)程
- 公司原液準(zhǔn)備老成黃化操作工安全技術(shù)規(guī)程
- 公司鎂電解工崗位工藝作業(yè)技術(shù)規(guī)程
- 飛機(jī)雷達(dá)調(diào)試工應(yīng)急演練效果評(píng)估考核試卷及答案
- 鍛件切邊工問題上報(bào)及時(shí)性考核試卷及答案
- 節(jié)后復(fù)工安全培訓(xùn)通訊課件
- 冰雪場館建設(shè)施工方案
- 機(jī)械設(shè)備維修技術(shù)(第5版)(微課版)課件 第18講 典型零部件的裝配1
- 食用菌科普課件模板
- 各種引流管的固定及護(hù)理
- 核心高考高頻688詞匯(高考高頻詞匯)
- 國開2025年人文英語4寫作形考答案
- 足球俱樂部會(huì)員權(quán)益規(guī)定
- AIGC藝術(shù)設(shè)計(jì) 課件全套 第1-8章 藝術(shù)設(shè)計(jì)的新語境:AI的介入 -AIGC藝術(shù)設(shè)計(jì)的思考與展望
- 冀教版(三起)(2024)三年級(jí)上冊英語Unit 1 Lesson 1 Hello!教案
- 老年教育課程體系2025年優(yōu)化與探究式教學(xué)模式實(shí)踐報(bào)告
評(píng)論
0/150
提交評(píng)論