2010年1月4日月曜日

int型、string型、double型の値をそれぞれボックス化、ボックス化解除してみる。

using System;


class MainClass
{
    static void Main()
    {
        int a=0;
        string s="Sample";
        double m = 1.1;
        object obj1,obj2,obj3;
        // a,s,mをボックス化
        obj1=a;
        obj2=s;
        obj3=m;
        if (obj1 is double)
        {
            Console.WriteLine("obj1はdouble型にcastできる");
            // ボックス化解除
            int b = (int)obj1;
            Console.WriteLine(b);
        }
        // ここで条件式がTrue
        else if (obj1 is int)
        {
            Console.WriteLine("obj1はint型にcastできる");
            // ボックス化解除
            int c = (int)obj1;
            Console.WriteLine(c);
        }
        else
        {
            Console.WriteLine
                ("obj1はdouble型、int型にcastできない");
        }
        if (obj2 is int)
        {
            Console.WriteLine("obj2はint型にcastできる");
            // ボックス化解除
            int d = (int)obj2;
            Console.WriteLine(d);
        }
        // ここで条件式がTrue
        else if (obj2 is string)
        {
            Console.WriteLine
                ("obj2はstring型にcastできる");
            // ボックス化解除
            string e = (string)obj2;
            Console.WriteLine(e);
        }
        else
        {
            Console.WriteLine
                ("obj2はint型、string型にcastできない");
        }
        if (obj3 is int)
        {
            Console.WriteLine
                ("obj3はint型にcastできる");
            int f = (int)obj3;
            Console.WriteLine(f);
        }
        else
        {
            Console.WriteLine
                ("obj3はint型にcastできない");
        }
    }
}

0 コメント:

コメントを投稿