C# 将包含二维对象数组的对象转换为字符串数组

C# 将包含二维对象数组的对象转换为字符串数组,c#,C#,我有一个返回以下类型和对象的方法: object {object[,]} test {object[19, 2]} 是否可以将其转换为二维字符串数组或数据表?看起来很奇怪,但我还没有找到其他方法 int firstDimensionSize = 19; int secondDimensionSize = 2; object[,] objectArray = new object[firstDimensionSize, secondDimensionSize]; string[,]

我有一个返回以下类型和对象的方法:

object {object[,]}
test    {object[19, 2]} 

是否可以将其转换为二维字符串数组或数据表?

看起来很奇怪,但我还没有找到其他方法

int firstDimensionSize = 19;
int secondDimensionSize = 2;

object[,] objectArray = new object[firstDimensionSize, secondDimensionSize];

string[,] stringArray = new string[objectArray.Length / secondDimensionSize, secondDimensionSize];

for (int i = 0; i < objectArray.Length / secondDimensionSize; i++)
{
    for (int j = 0; j < secondDimensionSize; j++)
    {
        stringArray[i, j] = objectArray[i, j].ToString();
    }
}
int firstDimensionSize=19;
int secondDimensionSize=2;
object[,]objectArray=新对象[firstDimensionSize,secondDimensionSize];
string[,]stringArray=新字符串[objectArray.Length/secondDimensionSize,secondDimensionSize];
对于(int i=0;i
如果您的第二维度总是相同的,您可以省略内部循环,用静态代码替换它


另请参见

我创建了这个扩展方法,但如果您不经常需要它,也可以将其作为普通方法

public static class Extensions
{
    public static string[,] ConvertToString2D(this object[,] arr)
    {
        int dim1 = arr.GetLength(0);
        int dim2 = arr.GetLength(1);
        string[,] strArray = new string[dim1, dim2];

        for (int i = 0; i < dim1; i++)
        {
            for (int j = 0; j < dim2; j++)
            {
                strArray[i, j] = Convert.ToString(arr[i, j]);
            }
        }

        return strArray;
    }
}

所以有没有帮助?
var result = objArr.ConvertToString2D();