C#类的类型约束

时间:2015-11-19 05:09:49

标签: c# math matrix

我正在尝试用C#编写矩阵类,并希望只覆盖整数类型。是的,我知道,可能还有很多其他的库已经提供了这个功能 - 我只是想自己尝试一下我在学校学习的一些数学知识。

无论如何,真正的问题在于:我有我的构造函数:

public class Matrix {
    private int[,]    __matrix;

    Matrix(int rows, int columns) {
        /* ... some logic here ... */
        __matrix = new int[row , columns];
    }
}

我知道你可以限制只是结构,但这也意味着像DateTime这样的东西最终会出现在矩阵中。关于如何解决这个问题的任何建议,或者有人在其他地方看到过这个问题我正在考虑编写一个泛型类,但我几乎依赖于一个声明允许类型的属性,然后在这一点上只检查代码中的那个属性,但我也一点都不知道拳击的前景/为我的矩阵使用object[]的拆箱开销。

1 个答案:

答案 0 :(得分:0)

您将无法简单地限制为Int32或任何这些原始数字类型。

看看这个问题:Is there a constraint that restricts my generic method to numeric types?

解决方法似乎比我们预期的要复杂得多。将算术运算推迟到其他一些通用类......

继续阅读以获取更多详情。