我是C#的新手。我正在尝试制作一个矩阵计算器,但首先我需要用户给我这个矩阵的大小和内容。我有2节课。
第一堂课如下:
class Assignment1
{
static void Main(string[] args)
{
Console.Write("Please enter the number of rows in the matrix: ");
int row = int.Parse(Console.ReadLine());
Console.Write("Please enter the number of columns in the matrix: ");
int columns = int.Parse(Console.ReadLine());
MatrixN matrix =new MatrixN(row, columns);
int i = 0;
for (double x = 0; x < row; x++)
{
for(double y = 0; y < columns; y++)
{
if(i == 0)
{
Console.Write("Enter first value of the matrix: ");
matrix[x, y] = double.Parse(Console.ReadLine());
i++;
}
else if (i == row * columns)
{
Console.Write("Enter last value of the matrix: ");
matrix[x, y] = double.Parse(Console.ReadLine());
i++;
}
Console.Write("Enter nest value of the matrix: ");
matrix[x, y] = double.Parse(Console.ReadLine());
i++;
}
}
}
}
第二课是:
class MatrixN
{
double[,] m;
public MatrixN(int row, int column)
{
m = new double[row, column];
}
我一直收到错误:无法将带有[]的索引应用于代码
的MatrixN 表达式matrix[x, y] = double.Parse(Console.ReadLine());
非常感谢任何帮助。谢谢。
答案 0 :(得分:1)
matrix
是MatrixN
类型的变量。类型MatrixN
不支持订阅/索引操作,因此您无法访问值matrix[i, j]
,也无法设置值matrix[i, j] = v;
。
您可以公开m
类的MatrixN
成员变量(通过公开),设置/访问matrix.m
的值,或编写自己的索引运算符:
class MatrixN {
private double[,] inner;
public double this[int x, int y] {
get { return inner[x, y]; }
set { inner[x, y] = value; }
}
}