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[]是编译不通过的。