在同一个类中的另一个方法内调用一个方法

时间:2013-11-24 23:54:35

标签: c# matrix static-methods

我正在使用C#,我正在尝试将标量乘以矩阵并返回结果。我遇到的问题是参数可以通过两种方式传递。它们可以是标量然后是矩阵,或者矩阵然后是标量,所以我需要设置两种方法来处理它们。我知道我可以简单地在第二种方法中复制代码,但据我所知,方法调用是一种更加流行的方法,因为两种方法都使用相同的代码。我只是需要一些帮助来解决这个问题。我的代码如下所示。

public static Matrix operator*(int scalar, Matrix matrix)
{     
    uint row,col;
    Matrix matrixProd;

    matrixProd = new Matrix(matrix.Rows,matrix.Cols);
    for (row=1; row<=matrixProd.Rows; row++)
        for (col=1; col<=matrixProd.Cols; col++)
            matrixProd.TwoDArray[row,col] = matrix.TwoDArray[row,col] * scalar;
    return matrixProd;
}

public static Matrix operator*(Matrix matrix, int scalar)
{
    //I have no idea on what to put here to call the previous method.//
}

1 个答案:

答案 0 :(得分:2)

你可以像这样颠倒操作数的顺序:

public static Matrix operator*(Matrix matrix, int scalar)
{
    return scalar * matrix;
}