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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#装箱和拆箱(值类型和引用类型之间的转换)

發布時間:2025/3/13 C# 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#装箱和拆箱(值类型和引用类型之间的转换) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

面向對象編程中,封箱指把非對象類型的數值或數據,包裝成對象類型反之,拆箱指把對象類型拆成非對象的數值或數據。

例子:定義一個Circle 類

1 class Circle 2 { 3 double radius; 4 public Circle(double param) 5 { 6 radius = param; 7 } 8 9 public double Area() 10 { 11 return Math.PI * radius * radius;//圓的面積 12 } 13 }

?

1 static void Main(string[] args) 2 { 3 Circle c = new Circle(5); 4 Console.WriteLine(c.Area()); 5 6 int i = 10; 7 Object o = i;//裝箱操作,將整形變量i賦值給object類型 o 8 Console.WriteLine(o.ToString()); 9 int j = (int)o;//拆箱操作,將Object類型變量o,拆箱賦給整形變量j; 10 Console.WriteLine(j); 11 }

?

?

安全的數據類型轉換方法:

is運算符,判斷變量是否為指定數據類型。

1 o = c; 2 if (o is int) 3 { 4 int k = (int)o; 5 } 6 else if (o is Circle) 7 { 8 Circle c2 = (Circle)o; 9 Console.WriteLine(c2.Area()); 10 }

as運算符。as 運算符類似于強制轉換操作。但是,如果無法進行轉換,則 as 返回 null?

1 int? k = o as int?; //int類型無法存儲Null型; 2 if (k != null) 3 { 4 Console.WriteLine(k);//說明轉換成功,打印k的值。 5 } 6 else 7 { 8 Circle c2 = o as Circle; 9 if (c2 != null) 10 { 11 Console.WriteLine(c2.Area()); 12 Console.ReadKey(); 13 } 14 }

?

轉載于:https://www.cnblogs.com/SeekHit/p/4871389.html

總結

以上是生活随笔為你收集整理的C#装箱和拆箱(值类型和引用类型之间的转换)的全部內容,希望文章能夠幫你解決所遇到的問題。

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