小编Sil*_*tya的帖子

二元运算符的其中一个参数必须是包含类型c#

public static int[,] operator *(int[,] arr1, int[,] arr2)
    {
        int sum;
        int[,] res = new int[arr1.GetLength(0), arr2.GetLength(1)];
        for (int i = 0; i < arr1.GetLength(0); i++)
        {
            for (int j = 0; j < arr2.GetLength(1); j++)
            {
                sum = 0;
                for (int k = 0; k < arr1.GetLength(1); k++)
                {
                    sum = sum + (arr1[i, k] * arr2[k, j]);
                }
                res[i, j] = sum;
                //Console.Write("{0} ", res[i, j]);
            }
            //Console.WriteLine();
        }

        return res;
    }
Run Code Online (Sandbox Code Playgroud)

这里我试图重载*运算符乘以两个矩阵..但编译器继续向我显示错误..

"二元运算符的一个参数必须是包含类型c#"

请告诉我我的代码中有什么问题以及如何解决它.

.net c# visual-studio-2010 visual-c#-express-2010

6
推荐指数
1
解决办法
4861
查看次数