C#多索引格式

C#多索引格式,c#,arrays,matrix,indexing,C#,Arrays,Matrix,Indexing,我正在写一个使用矩阵进行高级计算的类。我编写了一个简单的2D索引器,如下所示(在提问之前,使用1D数组而不是2D数组是有原因的): 但是,如果我也有一个简单的1D访问器,对于矩阵是行/列向量的情况,它将对我非常有用,如下所示: private double this[int index] { get { if (rows == 1 || columns == 1) { return contents[index];

我正在写一个使用矩阵进行高级计算的类。我编写了一个简单的2D索引器,如下所示(在提问之前,使用1D数组而不是2D数组是有原因的):

但是,如果我也有一个简单的1D访问器,对于矩阵是行/列向量的情况,它将对我非常有用,如下所示:

private double this[int index]
{
    get
    {
        if (rows == 1 || columns == 1)
        {
            return contents[index];
        }
        else
        {
            throw new Exception("Error: Matrix is not a row or column vector.");
        }
    }
    set
    {
        if (rows == 1 || columns == 1)
        {
            contents[index] = value;
            clearDependent();
        }
        else
        {
            throw new Exception("Error: Matrix is not a row or column vector.");
        }
    }
}
最后,我希望它的用途如下:

Matrix M = new Matrix("Stuff that initializes a 4x1 matrix");
double some_value = M[3];
Matrix N - new Matrix("Stuff that initializes a 4x4 matrix");
double some_value = N[2,3];
但是,当我插入如下内容时

M[3]
我得到以下错误:

Error   CS7036: There is no argument given that corresponds to the required 
formal parameter 'col' of 'Matrix.this[int, int]'
有没有可能的解决办法,或者我应该放弃这个


我在其他地方找不到这个问题,如果有答案,请告诉我。

您的道具定义是私有的。这是故意的吗?

你的道具定义是私人的。这是故意的吗?

嗯。。。154结果。具有1个值的索引器被声明为
private
Umm。。。154结果。具有1个值的索引器被声明为
private
Error   CS7036: There is no argument given that corresponds to the required 
formal parameter 'col' of 'Matrix.this[int, int]'