C# Array 基本数据类型数组的基类 传参问题

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

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {            
            Object[] obj = new Object[2];
            obj[0] = 100;
            obj[1] = 200;

            Array arr = getArr(obj);            
            Console.WriteLine(arr.GetValue(0) + "," + arr.GetValue(1));
            Console.WriteLine(obj[0] + "," + obj[1]);
            Console.ReadKey();
        }
        //只能传递不指定类型的数组参数,所以只能是Object[]
        public static Array getArr(Array arr)
        {
            arr.SetValue(200, 0);
            arr.SetValue(100, 1);
            return arr;
        }
        //与getArr方法一样的作用
        public static Array getArr2(Object[] arr)
        {
            arr[0] = 200;
            arr[1] = 100;
            return arr;
        } 

    }
}
输出结果是:
200,100
200,100

C# 中有的函数是用 Array作为参数或者返回值,   Array是基本数据类型数组的基类 ,,作为参数的传参问题,需要传递Object[]才行,传递int[]是编译不通过的。

posted @ 2018-12-04 16:21  zhaoyanhao  阅读(1041)  评论(0编辑  收藏  举报