首页 > 解决方案 > 二维对象数组 c 锐利的动态值分配

问题描述

我已经初始化了一个动态大小的二维对象数组,如下所示;

        header.Value2 = new object[,] {
            { "col1", "col1", "col1", "col1", "col1", "col1", "col1", "col1", "col1" }
    };

有没有办法使用变量动态设置内部对象 {"col1","".......} 如下:

Object newobj = { "col1", "col1", "col1", "col1", "col1", "col1", "col1", "col1", "col1" };

header.Value2 = new object[,] {
            newobj
    };

标签: c#arraysobjectdefinition

解决方案


我认为可能存在一些误解。

header.Value2 = new object[,] {
        { "col1", "col1", "col1", "col1", "col1", "col1", "col1", "col1", "col1" }
};

这声明了一个固定大小的二维数组,一列九行。没有“内在对象”。您可能正在考虑锯齿状数组ie object[][],因为这将为每一行提供一个单独的对象。

如果要将一维数组转换为二维数组,只需编写一个方法即可:

    public static T[,] To2DColumn<T>(T[] source)
    {
        var result = new T[1, source.Length];
        for (int i = 0; i < source.Length; i++)
        {
            result[0, i] = source[i];
        }

        return result;
    }

推荐阅读