C#语言学习--基础部分(十二) --堆,栈,装箱,拆箱,安全数据类型转换:as, is

Console Demo:

 

namespace BoxingDemo
{
    class Circle
    {
        int radius;
        public Circle(int radius)
        {
            this.radius = radius;

        }
        public double Area()
        {
            return Math.PI * radius * radius;
        }
    }
}

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BoxingDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            Circle c = new Circle(5);
            Console.WriteLine(c.Area());
            int i = 10;
            object o = i;//装箱
            Console.WriteLine(o.ToString());
            int j = (int)o; //拆箱
            Console.WriteLine(j);
            o = c;
            if (o is int//is 为类型判断
            {
                int m = (int)o;

            }
            else if (o is Circle) 
            {
                Circle c2 = (Circle)o;
                Console.WriteLine(c2.Area());
            }
            int?k = o as int?;  //int? 允许int为null,默认int不能为null, as为类型转换
            if (k != null)
            {
                Console.WriteLine(k);
            }
            else
            {
                Circle c3 = o as Circle;
                if (c3 != null)
                {
                    Console.WriteLine(c.Area());
                }
            }
             
        }
    }
}

 

posted on 2012-08-24 00:43  松波  阅读(159)  评论(0编辑  收藏  举报

导航