关于数组的简单问题

adventurezl 2005-09-27 09:25:14
我要实现这样的功能:根据给定的二维数组和行号(从0开始),将该行的数据复制到一个新的数组之中,我是这样实现的:
public int[] GetRowFromMultiArray(int [,]sourceArray,int row)
{
//参数row是sourceArray中的某一行(注意:row从0开始计算)
//sourceArray.
int rows=sourceArray.GetLength(0);
int cols=sourceArray.GetLength(1);

//判断参数row有没有超出范围,若超出,产生异常
if (row>=rows)
{
//抛出异常
new Exception("超出数组范围!");
//return;
}
//没有超出,首先计算第row行的起止index
int beginIndex=0;

beginIndex=row*cols;
int []array=new int[cols];
Array.Copy(sourceArray,beginIndex,array,0,cols);
return array;
}

但是运行的时候报错“ 指定的数组必须具有相同的维数”,请问上述程序出在哪里?
...全文
120 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
SqlDataAdapter 2005-09-27
  • 打赏
  • 举报
回复
Array.Copy()只能复制到相同维数的数组,因为只能用思归老大方法。如果要提高效率可以用非安全代码。
conan19771130 2005-09-27
  • 打赏
  • 举报
回复
把错误信息贴出来啊,我晕
wingnal 2005-09-27
  • 打赏
  • 举报
回复
怎么老大回答过得问题就没有人敢再跟贴呢
居然连顶得人都没有
q_po_o 2005-09-27
  • 打赏
  • 举报
回复
佩服
saucer 2005-09-27
  • 打赏
  • 举报
回复
sorry

array[i] = sourceArray[row,i];
saucer 2005-09-27
  • 打赏
  • 举报
回复
[,] is different, use manual copying


int []array=new int[cols];

for (int i=0; i < cols; i++)
array[i] = sourceArray(row,i);
adventurezl 2005-09-27
  • 打赏
  • 举报
回复
saucer(思归),SqlDataAdapter(小鸟)是正确的,这就加分,谢谢啦

110,566

社区成员

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

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

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