数组接口问题

遥望那些年 2011-03-29 02:41:20
Int32 : IComparable
所以如果有一个方法是 void A(IComparable a){}; 那么 int a; A(a); 是没有问题的

但如果有一个方法是 void B(IComparable[] b){}; 那么 int[] b; B(b); 无法编译通过

有关数组的接口编程应该怎么写呢?
...全文
74 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
我姓区不姓区 2011-03-29
  • 打赏
  • 举报
回复

IComparable[] array = new IComparable[b.Length];
for (int i = 0; i < b.Length; i++)
array[i] = b[i];
B(array);

bdmh 2011-03-29
  • 打赏
  • 举报
回复

IComparable[] a = new IComparable[10];
B(a);
yaazz 2011-03-29
  • 打赏
  • 举报
回复
用范型
void B<T>(T[] b){}
int[] b = null; B<int>(b);
wanghui0380 2011-03-29
  • 打赏
  • 举报
回复
int[] a = new int[4];
a.Cast<IComparable>().ToArray();

110,532

社区成员

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

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

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