.NET 4.x Описать класс, реализующий тип данных "вещественная матрица" и работу с ними - C#
Формулировка задачи:
Нужно описать класс, реализующий тип данных ≪вещественная матрица≫ и работу с ними. Значит, я начал писать с помощью массивом. И вот столкнулся с такой проблемой, что при сложении массив в public static Matrix operator +(Matrix mas, Matrix mas1), а именно temp[i,j] = mas[i,j] + mas1[i,j]; - пишет неоднозначный вызов следующих методов или свойств: WindowsFormsApplication1.Matrix.this[int,int]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WindowsFormsApplication1
{
class Matrix
{
public double[,] mas = new double[5, 5];
public double[,] mas1 = new double[5, 5];
public double[,] temp = new double[5, 5];
public Matrix(double[,] mas11, double[,] mas22, double[,] temp1)
{
mas = mas11;
mas1 = mas22;
temp = temp1;
}
public double this[int i, int j]
{
get { return mas[i, j]; }
set { mas[i, j] = value; }
}
public double this[int i, int j]
{
get { return mas1[i, j]; }
set { mas1[i, j] = value; }
}
public static Matrix operator +(Matrix mas, Matrix mas1)
{
double[,] temp = new double[5, 5];
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
temp[i,j] = mas[i,j] + mas1[i,j];
}
}
return temp;
}
}
}Решение задачи: «.NET 4.x Описать класс, реализующий тип данных "вещественная матрица" и работу с ними»
textual
Листинг программы
class mas
{
int[] inner = new int[5];
public mas()
{
}
public mas(int num)
{
for (int i = 0; i < 5; i++)
inner[i] = num;
}
public static mas operator + (mas m1, mas m2)
{
mas m3 = new mas();
for (int i = 0; i < 5; i++)
m3.inner[i] = m1.inner[i] + m2.inner[i];
return m3;
}
}