国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于C#編程語言技術(shù)探析

2019-12-12 06:57阮國榮
魅力中國 2019年46期
關(guān)鍵詞:面向?qū)ο?/a>內(nèi)存代碼

阮國榮

(廣東南方職業(yè)學(xué)院,廣東 江門 529000)

關(guān)鍵字:C#語言;面向?qū)ο?;編?/p>

一、C#語言的概述

C#是從C和C++語言演變而來,它是一種簡單、現(xiàn)代、類型安全的完全面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,它是Microsoft專門為.NET平臺而創(chuàng)建的。C#是近來一段時(shí)期發(fā)展起來的,不僅吸收以往編程語言的精華,同時(shí)其他語言存在問題也得到了解決。雖然表面上看C#是C++基礎(chǔ)上寫成的,然而實(shí)質(zhì)上它是VB、Pascal、Java等各類語言的綜合。

二、C#語言的優(yōu)勢之處

(一)語法簡單易學(xué)

C#是非常容易學(xué)習(xí)的語言,該語言的首要目標(biāo)就是簡單。在C#中,沒有C++中流行的指針。默認(rèn)地,在受管理的代碼中,不允許如直接存取內(nèi)存等不安全的操作。在C++中經(jīng)常使用的操作符 “.”、“->”和“::”,它們分別使用于成員、引用和名字空間。然而操作符對初學(xué)者而言,到現(xiàn)在仍然是學(xué)習(xí)的難點(diǎn)。C#僅使用單個操作符 “.”,沒有其它操作符?,F(xiàn)在對我們來說,就只剩下對嵌套名字的注解進(jìn)行理解了。

(二)面向?qū)ο?/p>

C#屬于完成面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,它擁有繼承、封裝和多態(tài)性這三大基本特征。

C#支持單繼承,即是一個類只能派生于另一個父類,也就是說只能有一個父類。大多數(shù)情況,我們創(chuàng)建一個子類也僅需要繼承一個基類。多重繼承制造出來的問題通常比其解決的問題還要多。如果你一定要用多重繼承,那么可以使用接口。 使用繼承機(jī)制可以增強(qiáng)代碼的復(fù)用性,減少代碼量,提高開發(fā)效率。

C#可以用屬性實(shí)現(xiàn)封裝,這樣做的好處是實(shí)現(xiàn)封裝更加方便,同時(shí)能夠通過屬性的寫和讀來保護(hù)類中的域,這樣就可以避免數(shù)據(jù)外泄,保證數(shù)據(jù)的安全。并且通過封裝,也可以使程序結(jié)構(gòu)性更強(qiáng),層次清晰,便于后期維護(hù)。

C#通過多態(tài)機(jī)制能夠減少編程代碼,同時(shí)也可以增強(qiáng)程序的可擴(kuò)充性,也就是說程序要增加功能或者修改功能的時(shí)候,只需要在原來的基礎(chǔ)上修改少量代碼。

(三)類型安全

C#為了對垃圾收集器(garbage collector)以及自己進(jìn)行保護(hù),實(shí)行最嚴(yán)格的類型安全。所以C#中一些有關(guān)變量的規(guī)定必須要遵循:如果變量沒有初始化不能被使用。對于對象的成員變量,編譯器負(fù)責(zé)清零。而局部變量,則由你負(fù)責(zé)清零。當(dāng)你使用的變量沒有初始化的時(shí)候,編譯器會提示你如何去做。這就避免了由于不經(jīng)初始化的變量進(jìn)行計(jì)算,而造成錯誤的結(jié)果,但是你還不知道為何會出現(xiàn)這些問題。

邊界檢查C#的一部分。當(dāng)定義數(shù)組只有n個元素,那么也僅僅能夠使用n個元素,越界的問題得到有效的解決。

算術(shù)運(yùn)算有可能溢出終值數(shù)據(jù)類型的范圍。C#允許在語句級或應(yīng)用程序級檢測這些運(yùn)算。在允許檢測溢出的情況下,當(dāng)溢出發(fā)生時(shí)將會拋出一個異常。在C#中,被傳遞的引用參數(shù)是類型安全的。

三、C#語言的不足之處

(一)對微軟的操作系統(tǒng),對微軟類庫的依賴性極強(qiáng)。所有項(xiàng)目編寫都依靠MSIL和CLS JIT編譯程序。但是程序設(shè)計(jì)和編譯程序級的優(yōu)化不能在非微軟的平臺上充分利用,想在非Windows平臺上展開.NET,再充分運(yùn)用它們也是不現(xiàn)實(shí)的。

(二)底層和高性能不合適。不合適做時(shí)間性能很高(高速算法)或空間性能很靈活(內(nèi)存立即釋放)的程序,因?yàn)橹虚g語言和編譯過程,比C/C++Native類型的語言會慢一些,內(nèi)存自動回收難以立即釋放不需要的內(nèi)存。

四、C#語言程序示例

為了對C#語言有更加直觀的了解,下面舉一個簡單的C#例子,對C#的代碼風(fēng)格和特征進(jìn)行分析。

在上述代碼中,使用using關(guān)鍵字引用的名稱空間,使用namespace關(guān)鍵字定義命名空間,使用 class關(guān)鍵字定義類。C#程序是從Main方法開始執(zhí)行的。方法的內(nèi)容用大括號{ }包括,稱為“方法體”。Console.WriteLine()的作用是輸出字符串,把"這是一個簡單的C#程序"字符串輸出來。語句后面的分號表示了本句結(jié)束。

結(jié)合上述代碼可以總結(jié)出C#程序具備如下特征:

1.Main方法是程序入口,程序總是這開始執(zhí)行。

2.C#嚴(yán)格區(qū)分大小寫。如變量a和變量A表示不同的變量。

3.所有語句都以分號“;”結(jié)束。注意要用英文的分號“;”作結(jié)束符,用中文的分號會出錯。

4.C#語言的單行注釋格式為: //、/*...*/和///。//僅可進(jìn)行單行注釋,/*...*/可進(jìn)行多行注釋,///是文檔注釋。

五、結(jié)語

隨著生活的不斷改善,社會的不斷進(jìn)步,計(jì)算機(jī)編程技術(shù)應(yīng)用越來越普遍的今天,其應(yīng)用水平得到穩(wěn)步提升。特別是C#在其中起到重要的作用,讓計(jì)算機(jī)的功能更加完善。C#是優(yōu)秀的計(jì)算機(jī)編程語言之一,精通C#不僅要通過理論知識的學(xué)習(xí),同時(shí)要經(jīng)歷不斷的實(shí)踐練習(xí),進(jìn)行總結(jié)分析,才能加深對語言的理解,將所學(xué)的知識融會貫通,最終編寫出優(yōu)秀的C#語言程序。

猜你喜歡
面向?qū)ο?/a>內(nèi)存代碼
GEE平臺下利用物候特征進(jìn)行面向?qū)ο蟮乃痉N植分布提取
筆記本內(nèi)存已經(jīng)在漲價(jià)了,但幅度不大,升級擴(kuò)容無須等待
“春夏秋冬”的內(nèi)存
面向?qū)ο蠓椒ㄔ谒罾銹LC編程中應(yīng)用分析
面向?qū)ο蟮慕M合軟件工程研究
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
內(nèi)存搭配DDR4、DDR3L還是DDR3?
陆丰市| 龙陵县| 中卫市| 临海市| 望城县| 龙南县| 华亭县| 林州市| 巴中市| 普兰县| 大同县| 二连浩特市| 虹口区| 鹿邑县| 梅州市| 利津县| 宝应县| 齐齐哈尔市| 界首市| 江山市| 山阴县| 青海省| 陆川县| 龙山县| 额尔古纳市| 浑源县| 肇庆市| 曲周县| 辉县市| 都江堰市| 丰台区| 光泽县| 习水县| 西贡区| 井冈山市| 江孜县| 双江| 多伦县| 双城市| 额济纳旗| 巍山|