日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發布時間:2024/10/12 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .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 基元类型,引用类型和值类型的全部內容,希望文章能夠幫你解決所遇到的問題。

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