zoukankan      html  css  js  c++  java
  • 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             }
  • 相关阅读:
    PHP学习笔记:第一天自白
    记录ftpclient一下踩的坑
    log4j.xml打印mybatis sql
    ftpclient 550 permission denied
    java内部类demo
    轮播图制作
    java的引用数据类型,你知道吗???
    集合
    Java基础01
    java 自己实现字符串的匹配
  • 原文地址:https://www.cnblogs.com/SeekHit/p/4871389.html
Copyright © 2011-2022 走看看