C# 入門 & 実践 / C sharp

4-4. 配列の型変換


派生クラスの配列から親オブジェクト配列への変換。
    class Tester
    {
        public static void PrintArray(object[] objArray)
        {
            Console.WriteLine("{0}",objArray.ToString());

            foreach (object obj in objArray) 
            {
                Console.WriteLine("{0}",obj.ToString() );
            }
        }
        static void Main()
        {
            string[] s = { "mon", "tue", "wed" };

            Object[] os = s;
            foreach (object obj in os)
            {
                Console.WriteLine("{0}", obj.ToString());
            }

            PrintArray(s);
        }

    }

型変換といえば、ボックス化ですが、やはり、配列を一気にボックス化は出来ないようです^-^;

→3-15. ボックス化:http://tech.bbtune.com/csharp/items/3-15.html

            int[] i = { 1, 2, 3 };
            // 変換できません!
            object[] os = i;
            object[] os2 = (object[])i;

配列の要素を一つずつ変換するしかありません。
            int[] i = { 1, 2, 3 };
            object[] os = new object[3];
            for( int x =0; x<3; x++ )
            {
                os[x] = i[x];
            }




4-3. 配列 多次元配列 « 4. C# 入門 Level 2 » 4-5. 配列のソート


C# 入門 & 実践 / C sharp