日期:2014-05-17  浏览次数:20728 次

请教一个C#基础问题
我定义了下面这个方法
public static int abc(object[] list1, object[] list2)
{
……
}

然后调用
int[] s1 = new int[] { 1, 2, 3 };
int[] s2 = new int[] { 3 };
Console.WriteLine(abc(s1, s2));

编译时报错误:与“ConsoleApplication2.Program.abc(object[], object[])”最匹配的重载方法具有一些无效参数

object不是所有类型的基类么,这里为什么不能将int转换为object

------解决方案--------------------
Console.WriteLine(abc(s1.Select(x => (object)x).ToArray(), s2.Select(x => (object)x).ToArray()));


------解决方案--------------------
Console.WriteLine(abc(s1, s2));
=>
Console.WriteLine(abc(s1.Select(t=>(object)t).ToArray(), s2.Select(t=>(object)t).ToArray()));