成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#值類型賦值與引用類型的賦值

開發 后端
C#編程中,大家會經常使用到不同的數據類型。本文介紹的是C#值類型賦值與引用類型的賦值,希望對你有幫助,一起來看。

C#中,數據類型大致可以分為兩類,一類是值類型,一類是引用類型。初學者往往會被類型之間的相互賦值搞的很迷惑,尤其是引用類型變量的相互賦值。

現在舉2個例子,來一一說明。

值類型變量的賦值: 值類型變量中保存的是實際數據,在賦值的時候只是把數據復制一份,然后賦給另一個變量。

例子1:

 

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

 

引用類型變量的賦值: 引用類型變量中保存的是“指向實際數據的引用指針”。在進行賦值操作的時候,它和值類型一樣,也是先有一個復制的操作,不過它復制的不是實際的數據,而是引用(真實數據的內存地址)。

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

例子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; //引用變量的賦值 賦值操作完成后,兩個變量都指向同一內存地址  
  15. objectA.val=10; //給objectA.val賦值=10 由于objectB和objectA指向同一內存地址,所以ojbectB.val的值也為10  
  16. objectB.val=20; //給objectB.val賦值=20 由于objectB和objectA指向同一內存地址,所以objectA.val的值也為20  
  17. MyStruct structA=new MyStruct();  
  18. MyStruct structB=structA; //結構是值類型 賦值操作完成后,兩個結構中的結構信息一致。注意是“結構中的信息”一致。  
  19. structA.val=30;  
  20. structA.val=40;  
  21. Console.WriteLine(objectA.val); //輸出結果是20  
  22. Console.WriteLine(objectB.val); //輸出結果是20  
  23. Console.WriteLine(structA.val); //輸出結果是30  
  24. Console.WriteLine(structB.val); //輸出結果是40  
  25. Console.ReadLine();  
  26. }  

 

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

【編輯推薦】

  1. c#.net實體類序列化方法
  2. 用C#實現HTTP協議下的多線程文件傳輸
  3. 解析C#委托、時間和Lambda表達式
  4. C#中的閉包是怎么捕獲變量的
  5. C#控件的閃爍問題解決方法總結
責任編輯:于鐵 來源: 博客園
相關推薦

2013-05-23 17:21:16

C#

2009-08-19 16:39:44

C#值類型C#引用類型

2009-08-26 14:05:19

C#值類型和引用類型

2009-10-22 18:41:49

CLR VIA C#教

2009-08-14 17:09:48

C#引用類型

2009-08-27 16:39:26

C# String類型

2009-08-31 14:34:46

C#值類型C#結構類型

2009-09-03 16:55:58

C#引用類型

2009-08-06 10:14:15

C#引用類型數組

2009-08-03 17:51:43

C#引用類型

2009-09-11 11:09:36

C#引用類型

2009-09-11 11:17:04

C#引用類型

2009-08-03 14:54:23

值類型C#

2009-08-24 13:52:04

C# 泛型約束

2009-08-25 17:52:01

C#可空值類型

2009-10-10 09:53:07

.NET值類型

2024-03-12 10:25:14

C#Dictionary編程語言

2009-08-12 15:02:49

C#賦值運算符簡單賦值運算符

2009-08-12 15:20:18

C#賦值運算符復合賦值運算符

2009-08-10 17:25:58

C#匿名類型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区三区在线免费 | 中文字幕亚洲精品 | 97久久精品午夜一区二区 | 欧美成人精品激情在线观看 | 久久久五月天 | 99热这里只有精品8 激情毛片 | 成人毛片视频免费 | www.日韩| 国产农村妇女毛片精品久久麻豆 | 亚洲成人一区 | 在线观看中文字幕 | 久久久久久久久久久久久久久久久久久久 | 国产一区二区不卡 | 蜜桃av鲁一鲁一鲁一鲁 | 日韩一级一区 | 亚洲精品久久久久久久久久久久久 | 中文字幕在线观看视频一区 | 免费国产视频 | 91日b| 麻豆一区 | 成人在线中文字幕 | 岛国av免费观看 | 九九热精品在线视频 | 在线日韩视频 | 亚洲美女天堂网 | 天天爽综合网 | 久久国产秒 | 99热首页 | 欧美黄色网络 | 国内精品久久久久 | av日韩一区 | 夜夜爽99久久国产综合精品女不卡 | 在线看国产| 男女羞羞免费视频 | 蜜桃臀av一区二区三区 | 成人三级av | 亚洲人a | 久久成人精品 | 亚洲欧美视频在线观看 | 91日韩| 久久久久亚洲精品 |