CS1503: 无法从“int[]”转换为“object[]”

wys513 2005-09-09 08:21:43
class Bar
{
static void Main()
{
Foo(new string[]{"Hello", "world"}); // okay
Foo(new object[]{1, 2, 3}); // okay
Foo(new int[]{1, 2, 3}); // error
}

static void Foo(object[]oo)
{
}
}

为什么会这样:
a.cs(7,5 ): error CS1502: 与“Bar.Foo(object[])”最匹配的重载方法具有一些无效参数
a.cs(7,18): error CS1503: 参数“1” : 无法从“int[]”转换为“object[]”
难道int不是object吗, 我要怎样才能把int[]转换为object[]?
...全文
984 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wys513 2005-09-11
  • 打赏
  • 举报
回复
Foo((object[])new int[]{1, 2, 3});
------------------------------------

ofei(欧卡)的方法不可行, 将导致如下编译错误:
a.cs(7,16): error CS0030: 无法将类型“int[]”转换为“object[]”
newgrammer 2005-09-10
  • 打赏
  • 举报
回复
关注。
ofei 2005-09-09
  • 打赏
  • 举报
回复
Foo((object[])new int[]{1, 2, 3});
Ivony 2005-09-09
  • 打赏
  • 举报
回复
数组隐式类型转换要求两个数组的元素类型都是引用类型,因为值类型的变量即使在在隐式装箱时,也是进行了拷贝的。
yic_sword 2005-09-09
  • 打赏
  • 举报
回复
将一个 Array 的一部分复制到另一个 Array 中,并根据需要执行强制类型转换和装箱
yic_sword 2005-09-09
  • 打赏
  • 举报
回复

int[] intArray = new int[]{1, 2, 3};
Object[] objArray = new Object[3];

Array.Copy(intArray, objArray, 3);

Foo(objArray);
真相重于对错 2005-09-09
  • 打赏
  • 举报
回复
foo( Array myarray )
{}

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧