日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

.net 基元类型,引用类型和值类型

發布時間:2024/10/12 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .net 基元类型,引用类型和值类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基元類型(primitive type):

  編譯器直接支持的數據類型稱為基元類型(primitive type)。

string 與 String:

  由于C#中的string (一個關鍵字)直接映射到System.String (一個FCL類型),所以兩者沒有區別,都可以使用。

  但是在C#中int始終映射在System.Int32,所以不管在 64操作系統還是32位操作系統上,代表的都是32位整數。

? ? ?在C#中long映射到的是System.Int64,但是在其他編程語言中,long可能映射到Int16或Int32。 例如C++

checked 與 unchecked 基元類型。

? ? 是否溢出檢查

  

    static void Main(string[] args){ Byte b = 200;b = checked((Byte)(b + 200));Console.ReadLine();}     static void Main(string[] args){ Byte b = 200;b = (Byte)checked((b + 200));Console.ReadLine();}

?

引用類型與值類型: 

  CLR支持兩種類型:引用類型與值類型:

  1.任何被稱為“類”的類型都是引用類型。

  2.文檔將所有值類型都稱為結構或枚舉。

class SomeRef{public Int32 x;}struct SomeVal{public Int32 x;}static void ValueTypeDemo(){SomeRef r1 = new SomeRef();SomeVal v1 = new SomeVal();r1.x = 5;v1.x = 5;Console.WriteLine(r1.x);Console.WriteLine(v1.x);
SomeRef r2
= r1;SomeVal v2 = v1;r1.x = 8;v1.x = 9;Console.WriteLine(v1.x);Console.WriteLine(v2.x);}

由上例子可以看出,重新賦值后的 v1 值改變,但是v2值并沒有改變。

而 r1,r2 值全部改變,原因在于 r1,r2是引用類型,改變的只是地址的指向,所以當一個地址改變后 另外的地址也跟著指向新的地址。

?

?

?

?

?

轉載于:https://www.cnblogs.com/dragon-L/p/3707106.html

總結

以上是生活随笔為你收集整理的.net 基元类型,引用类型和值类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。