我正在尝试用C#编写矩阵类,并希望只覆盖整数类型。是的,我知道,可能还有很多其他的库已经提供了这个功能 - 我只是想自己尝试一下我在学校学习的一些数学知识。
无论如何,真正的问题在于:我有我的构造函数:
public class Matrix {
private int[,] __matrix;
Matrix(int rows, int columns) {
/* ... some logic here ... */
__matrix = new int[row , columns];
}
}
我知道你可以限制只是结构,但这也意味着像DateTime
这样的东西最终会出现在矩阵中。关于如何解决这个问题的任何建议,或者有人在其他地方看到过这个问题我正在考虑编写一个泛型类,但我几乎依赖于一个声明允许类型的属性,然后在这一点上只检查代码中的那个属性,但我也一点都不知道拳击的前景/为我的矩阵使用object[]
的拆箱开销。
答案 0 :(得分:0)
您将无法简单地限制为Int32或任何这些原始数字类型。
看看这个问题:Is there a constraint that restricts my generic method to numeric types?
解决方法似乎比我们预期的要复杂得多。将算术运算推迟到其他一些通用类......
继续阅读以获取更多详情。