日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
C#值類(lèi)型賦值與引用類(lèi)型的賦值

C#中,數(shù)據(jù)類(lèi)型大致可以分為兩類(lèi),一類(lèi)是值類(lèi)型,一類(lèi)是引用類(lèi)型。初學(xué)者往往會(huì)被類(lèi)型之間的相互賦值搞的很迷惑,尤其是引用類(lèi)型變量的相互賦值。

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括五常網(wǎng)站建設(shè)、五常網(wǎng)站制作、五常網(wǎng)頁(yè)制作以及五常網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,五常網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到五常省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!

現(xiàn)在舉2個(gè)例子,來(lái)一一說(shuō)明。

值類(lèi)型變量的賦值: 值類(lèi)型變量中保存的是實(shí)際數(shù)據(jù),在賦值的時(shí)候只是把數(shù)據(jù)復(fù)制一份,然后賦給另一個(gè)變量。

例子1:

 
 
 
  1. int var1=2;  
  2. int var2=var1; //編譯器會(huì)先復(fù)制var1的值,然后把它賦給var2.很明顯var2的值也為2  

引用類(lèi)型變量的賦值: 引用類(lèi)型變量中保存的是“指向?qū)嶋H數(shù)據(jù)的引用指針”。在進(jìn)行賦值操作的時(shí)候,它和值類(lèi)型一樣,也是先有一個(gè)復(fù)制的操作,不過(guò)它復(fù)制的不是實(shí)際的數(shù)據(jù),而是引用(真實(shí)數(shù)據(jù)的內(nèi)存地址)。

所以引用類(lèi)型的變量在賦值的時(shí)候,賦給另一變量的實(shí)際上是內(nèi)存地址。這樣賦值完成后,2個(gè)引用變量中保存的是同一引用,他們的指向完全一樣。

例子2:

 
 
 
  1. class MyClass   
  2. {  
  3. public int val;  
  4. }  
  5. struct MyStruct  
  6. {  
  7. public int val;  
  8. }  
  9. class Program  
  10. {  
  11. static void Main(string[] args)  
  12. {  
  13. MyClass objectA=new MyClass();  
  14. MyClass objectB=objectA; //引用變量的賦值 賦值操作完成后,兩個(gè)變量都指向同一內(nèi)存地址  
  15. objectA.val=10; //給objectA.val賦值=10 由于objectB和objectA指向同一內(nèi)存地址,所以ojbectB.val的值也為10  
  16. objectB.val=20; //給objectB.val賦值=20 由于objectB和objectA指向同一內(nèi)存地址,所以objectA.val的值也為20  
  17. MyStruct structA=new MyStruct();  
  18. MyStruct structB=structA; //結(jié)構(gòu)是值類(lèi)型 賦值操作完成后,兩個(gè)結(jié)構(gòu)中的結(jié)構(gòu)信息一致。注意是“結(jié)構(gòu)中的信息”一致。  
  19. structA.val=30;  
  20. structA.val=40;  
  21. Console.WriteLine(objectA.val); //輸出結(jié)果是20  
  22. Console.WriteLine(objectB.val); //輸出結(jié)果是20  
  23. Console.WriteLine(structA.val); //輸出結(jié)果是30  
  24. Console.WriteLine(structB.val); //輸出結(jié)果是40  
  25. Console.ReadLine();  
  26. }  

從上面2個(gè)例子可以看出,值類(lèi)型變量的賦值操作,僅僅是2個(gè)實(shí)際數(shù)據(jù)之間的復(fù)制。而引用類(lèi)型變量的賦值操作,復(fù)制的是引用,即內(nèi)存地址,由于賦值后二者都指向同一內(nèi)存地址,所以改變其中一個(gè),另一個(gè)也會(huì)跟著改變,二者就像綁定在了一起。


網(wǎng)站題目:C#值類(lèi)型賦值與引用類(lèi)型的賦值
轉(zhuǎn)載來(lái)于:http://www.dlmjj.cn/article/dpjggdd.html