C#装箱和拆箱(值类型和引用类型之间的转换)
生活随笔
收集整理的這篇文章主要介紹了
C#装箱和拆箱(值类型和引用类型之间的转换)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
面向?qū)ο缶幊讨?#xff0c;封箱指把非對(duì)象類型的數(shù)值或數(shù)據(jù),包裝成對(duì)象類型反之,拆箱指把對(duì)象類型拆成非對(duì)象的數(shù)值或數(shù)據(jù)。
例子:定義一個(gè)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 }?
?
安全的數(shù)據(jù)類型轉(zhuǎn)換方法:
is運(yùn)算符,判斷變量是否為指定數(shù)據(jù)類型。
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運(yùn)算符。as 運(yùn)算符類似于強(qiáng)制轉(zhuǎn)換操作。但是,如果無(wú)法進(jìn)行轉(zhuǎn)換,則 as 返回 null?
1 int? k = o as int?; //int類型無(wú)法存儲(chǔ)Null型; 2 if (k != null) 3 { 4 Console.WriteLine(k);//說(shuō)明轉(zhuǎn)換成功,打印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 }?
轉(zhuǎn)載于:https://www.cnblogs.com/SeekHit/p/4871389.html
總結(jié)
以上是生活随笔為你收集整理的C#装箱和拆箱(值类型和引用类型之间的转换)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 第五章、采购过程
- 下一篇: 如何利用现代科技手段提高泰山风景区的管理