C#将一维数组分配给二维数组语法 [英] c# assign 1 dimensional array to 2 dimensional array syntax

查看:112
本文介绍了C#将一维数组分配给二维数组语法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想做类似的事情:

object[] rowOfObjects = GetRow();//filled somewhere else
object[,] tableOfObjects = new object[10,10];

tableOfObjects[0] = rowOfObjects;

这有可能吗?语法是什么?

is this somehow possible and what is the syntax?

或者我需要这样做:

for (int i = 0; i < rowOfObjects.Length; i++)
{
   tableOfObjects[0,i] = rowOfObjects[i];
}

并使用循环填充二维数组行?

and fill up the 2 dimensional arrays row using a loop?

谢谢

推荐答案

否,如果您使用的是二维数组,则不可能.您必须复制每个项目.

No, if you are using a two dimensional array it's not possible. You have to copy each item.

如果使用锯齿状数组,则可以正常工作:

If you use a jagged array, it works just fine:

// create array of arrays
object[][] tableOfObject = new object[10][];
// create arrays to put in the array of arrays
for (int i = 0; i < 10; i++) tableOfObject[i] = new object[10];

// get row as array
object[] rowOfObject = GetRow();
// put array in array of arrays
tableOfObjects[0] = rowOfObjects;

如果将所有数据作为行获取,那么您当然不需要将数组放入数组的循环,因为无论如何您都将替换它们.

If you are getting all the data as rows, you of course don't need the loop that puts arrays in the array of arrays, as you would just replace them anyway.

这篇关于C#将一维数组分配给二维数组语法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆