简体   繁体   English

动态地向数组添加新维度

[英]Dynamically add a new dimension to array

I want to add a new dimension to my array aka. 我想为我的数组添加一个新维度。 to my Matrix class based on user input in the constructor. 基于构造函数中的用户输入到我的Matrix类。

Example: 例:

var matrix = new Matrix<int>(3,2,4); // is 3 dimensional array 

Here is my Matrix class: 这是我的Matrix类:

class Matrix<T>
{
    private T[][] mArray;
    private readonly int mCols;
    private readonly int mRows;       

    public Matrix(params int[] args)
    {
        //here is what I ve tried.
        /*
        mCols = args[0];
        mRows = args[1];

        mArray = new T[mCols][];

        for (int i = 0; i < mCols; i++)
            mArray[i] = new T[mRows];
        */

        // how to create a multidimensional array based on "args" length?

    }
}

Question: how to create a multidimensional array based on "args" length? 问题:如何根据“args”长度创建多维数组?

Found it by looking here 通过看这里找到它

Array.CreateInstance(typeof(YOUR_TYPE), params)

example: 例:

var arr = Array.CreateInstance(typeof(int), 3, 2, 4); // creates a 3 dimensional array

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM