我不确定这是否可能,但如果可能的话,它将是有用的。
我试图在一个名为
Matrix<T>
. 其目的是能够拥有各种数据类型的矩阵,例如整数、浮点、双精度等。
现在我想定义加法:
public static Matrix<T> operator +(Matrix<T> first, Matrix<T> second)
{
if (first.dimension != second.dimension)
{
throw new Exception("The matrices' dimensions do not match");
}
Matrix<T> add = new Matrix<T>(first.dimension);
for (int i = 1; i <= first.rows; i++)
{
for (int j = 1; j <= first.columns; i++)
{
add[i,j] = first[i,j] + second[i,j];
}
}
return add;
}
add[i,j] = first[i,j] + second[i,j];
+
未在类型为的常规对象上定义
T
.
是一种定义了加法的类型。所以,我可以做一个矩阵
int
s
float
s
double
int[]
+
未为定义
s
因此,与其写作
T
+
int
s、 矩阵
浮动
编辑:我不知道该怎么办
the linked question from closure
与此相关-我看不到关于操作员的任何信息。如果它们是相关的,有人能解释一下是怎么回事吗?