亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        C#語言中數(shù)組與字符串存儲(chǔ)、使用方式異同的比較

        2019-12-13 07:22:50吳昊李曉會(huì)
        關(guān)鍵詞:字符串數(shù)組

        吳昊 李曉會(huì)

        摘要:C#語言中,數(shù)組和字符串在使用方面既有相似之處,又有明顯差異。掌握兩者的異同,對(duì)于深入理解C#語言語法以及使用C#進(jìn)行軟件開發(fā),保證開發(fā)順利進(jìn)行都有重要意義。在教學(xué)過程中,對(duì)兩者異同的比較剖析,能夠使學(xué)生更好地了解和掌握C#語言,進(jìn)一步使用C#語言進(jìn)行程序設(shè)計(jì)和軟件開發(fā)。

        關(guān)鍵詞:C#;數(shù)組;字符串;存儲(chǔ)方式

        中圖分類號(hào):TP311.1 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2019)09-0148-01

        C#語言是微軟公司在其開發(fā)的.NET平臺(tái)上主推的一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,是計(jì)算機(jī)科學(xué)與技術(shù)等專業(yè)的一門重要課程。C#語言包含一套完整的語法、句法結(jié)構(gòu)體系。而數(shù)組(Array)和字符串(String)作為C#語言中兩種重要的數(shù)據(jù)類型(數(shù)據(jù)結(jié)構(gòu)),其定義、存儲(chǔ)和使用有很多特殊性。

        在以往的教學(xué)中發(fā)現(xiàn),當(dāng)學(xué)生不能準(zhǔn)確理解數(shù)組和字符串在存儲(chǔ)、使用方式上的差異時(shí),對(duì)后續(xù)學(xué)習(xí),例如將數(shù)組作為方法的參數(shù),會(huì)有很大的影響。

        針對(duì)以上問題,本文旨在通過對(duì)比來剖析C#語言中,數(shù)組和字符串的相同點(diǎn)和不同點(diǎn),幫助學(xué)生準(zhǔn)確掌握兩者的使用。

        1 C#語言中數(shù)組與字符串屬于引用數(shù)據(jù)類型

        在C#語言的語法體系中,數(shù)組與字符串都屬于和值類型相對(duì)應(yīng)的引用數(shù)據(jù)類型,這是兩者的相同之處。引用類型與值類型,在定義、存儲(chǔ)和使用方式上有很多的不同之處。

        1.1 代碼舉例----值類型與引用類型

        為了比較以數(shù)組為代表的引用類型與值類型的區(qū)別,分析如下程序代碼:

        int m=5,n;

        n=m;

        m=-2;

        Console.Write(n);

        這段代碼首先定義兩個(gè)int類型變量m和n。m的初始值為5。將變量m的值賦給n,再將m的值修改為-2。此時(shí),變量m的值為-2,而n的值為5。

        作為對(duì)比,再來看下面的代碼段。

        int[] arr1 = { 1, 2, 3 }, arr2;

        arr2 = arr1;arr1[0] = -10;

        Console.Write(arr2[0]);

        這段代碼首先定義兩個(gè)int類型數(shù)組變量arr1和arr2。arr1的初始值為{1,2,3}。將變量arr1的值賦給arr2,再將arr1的第一個(gè)元素(序號(hào)為0)值修改為-10。此時(shí),arr1的第一個(gè)元素的值為-10,而arr2的第一個(gè)元素的值也會(huì)變?yōu)?10。

        1.2 案例分析

        對(duì)于兩個(gè)值類型變量的直接賦值(如上面第一段代碼中的語句n=m;),是在兩塊不同的棧內(nèi)存之間完成數(shù)值的復(fù)制。因此當(dāng)修改其中一個(gè)值類型變量值的時(shí)候,對(duì)另外一個(gè)不會(huì)產(chǎn)生影響。

        于兩個(gè)引用類型變量的直接賦值(如上面第二段代碼中的語句arr2 = arr1;),是在棧內(nèi)存之間完成用引用(該引用的值是保存在堆內(nèi)存上的數(shù)值部分的首地址)部分的復(fù)制。復(fù)制的結(jié)果使得兩個(gè)數(shù)組變量名的引用部分是相同,即都指向同一塊保存在堆內(nèi)存上的數(shù)值部分的首地址。因此當(dāng)使用數(shù)組名稱修改堆內(nèi)存上的數(shù)值時(shí),對(duì)另一個(gè)數(shù)組引用會(huì)產(chǎn)生影響。

        2 字符串與數(shù)組引用方式不同

        雖然字符串與數(shù)組一樣,也屬于引用數(shù)據(jù)類型。但字符串在使用時(shí),與數(shù)組有所不同。

        2.1 代碼舉例----字符串與數(shù)組賦值操作的比較

        分析下面一段代碼:

        string s1 = "abc",s2;

        s2 = s1;

        s1 = "def";

        Console.Write(s2);

        這段代碼首先定義兩個(gè)字符串類型變量s1和s2。s1的初始值為"abc"。將變量s1的值賦給s2,再將s1的值修改為"def"。此時(shí)s2的值應(yīng)該是什么呢?按照上述1.2節(jié)的分析,同樣作為引用類型的字符串,應(yīng)該按照和數(shù)組操作相似的方式,s1和s2引用的地址相同,s1的值改變,s2的值也會(huì)發(fā)生相同改變。然而,事實(shí)并非如此。程序的實(shí)際運(yùn)行結(jié)果如圖1所示。

        2.2 案例分析

        字符串作為一種常用的引用類型,也是非常特殊的引用類型。正如微軟MSDN中關(guān)于字符串說明所提到的,字符串(String)的值是“不可更改的”。即當(dāng)修改一個(gè)字符串變量的值的時(shí)候,并不是將原來保存在堆內(nèi)存上的值改變,而是另外開辟一塊新的堆內(nèi)存保存新值,并將字符串變量在棧內(nèi)存上的地址引用修改為新的堆內(nèi)存的地址。因此案例代碼中變量s1指向新的堆內(nèi)存中的新值,而s2仍然指向原堆內(nèi)存中的原值。

        3 結(jié)語

        C#語言中,數(shù)組和字符串都屬于引用數(shù)據(jù)類型,其存儲(chǔ)方式有相同之處,即都在棧內(nèi)存上存儲(chǔ)引用(地址),在堆內(nèi)存上存儲(chǔ)數(shù)據(jù);但由于數(shù)組的值允許更改,而字符串的值不允許修改,因此在對(duì)應(yīng)類型變量賦值過程中,實(shí)際的運(yùn)行方式不盡相同。而對(duì)于字符串而言,如果需要在原堆內(nèi)存上直接修改數(shù)據(jù),可以使用另一個(gè)描述字符串的類----StringBuffer來實(shí)現(xiàn)。

        參考文獻(xiàn)

        [1] 吳昊,等.C# Windows程序設(shè)計(jì)及應(yīng)用[M].北京:清華大學(xué)出版社,2012.

        [2] 侯鵬.C#中的字符串[J].電子世界,2014(16):86.

        [3] 段春筍,杜立新.C#中動(dòng)態(tài)數(shù)組設(shè)計(jì)原理[J].電腦編程技巧與維護(hù),2005(07):24-25.

        Abstract:In C# language, Arrays and strings have similarities,but obvious differences . It is significant that to understand the basic C# grammar and program by grasping the similarities and differences of arrays and strings.Duruing the teaching,it can help students master C# language deeply and use it to create application with the comparison of them.

        Key words:C#;array;string;storage method

        猜你喜歡
        字符串數(shù)組
        JAVA稀疏矩陣算法
        基于文本挖掘的語詞典研究
        JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
        辨析指針數(shù)組與數(shù)組指針
        Excel數(shù)組公式在林業(yè)多條件求和中的應(yīng)用
        尋找勾股數(shù)組的歷程
        一種新的基于對(duì)稱性的字符串相似性處理算法
        高效的top-k相似字符串查詢算法
        依據(jù)字符串匹配的中文分詞模型研究
        VB數(shù)組在for循環(huán)中的應(yīng)用
        考試周刊(2012年88期)2012-04-29 04:36:47
        日韩一欧美内射在线观看| 99久久精品一区二区国产| 亚洲男女内射在线播放| 成人毛片一区二区| 色丁香色婷婷| 国产在线AⅤ精品性色| 白白色视频这里只有精品| 伊人久久大香线蕉av色婷婷色 | 99国产精品无码专区| 国产影院一区二区在线| 九九影院理论片私人影院| 中文字幕久无码免费久久| 欧洲一区在线观看| 国产又色又爽的视频在线观看91| 亚洲av午夜一区二区三| 极品成人影院| YW亚洲AV无码乱码在线观看| 人妻系列少妇极品熟妇| 亚洲免费观看视频| 国产大屁股熟女流白浆一区二区| 四虎影在永久在线观看| 国内精品久久久久久中文字幕| 色噜噜狠狠色综合中文字幕| 91在线无码精品秘 入口九色十| 亚洲熟女av在线观看| 潮喷大喷水系列无码久久精品| 国内精品久久久久久无码不卡| 国产麻豆剧传媒精品国产av蜜桃| 久久久中文字幕日韩精品| 久久超碰97人人做人人爱 | 东京热人妻一区二区三区| 亚洲成av人片无码不卡播放器| 亚洲国产高清一区av| 一本加勒比hezyo无码专区 | 亚洲精品一区二区三区四区| 午夜dy888国产精品影院| 鲁一鲁一鲁一鲁一澡| 久久伊人网久久伊人网| 国产成人91久久麻豆视频| 欧美亚洲日本国产综合在线| 亚洲人成网站18男男|