簡體   English   中英

動態地向數組添加新維度

[英]Dynamically add a new dimension to array

我想為我的數組添加一個新維度。 基於構造函數中的用戶輸入到我的Matrix類。

例:

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

這是我的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?

    }
}

問題:如何根據“args”長度創建多維數組?

通過看這里找到它

Array.CreateInstance(typeof(YOUR_TYPE), params)

例:

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