<分区>
嗨,我想上课:
class Matrix <T>
where T : // I don't know what to write here
{
T[][] elements;
}
我希望 T 可以被 + 和 * 运算符相加和相乘
<分区>
嗨,我想上课:
class Matrix <T>
where T : // I don't know what to write here
{
T[][] elements;
}
我希望 T 可以被 + 和 * 运算符相加和相乘
最佳答案
我强烈建议您看一下 Messrs Skeet 和 Gravell 的“MiscUtil”库:
http://www.yoda.arachsys.com/csharp/miscutil/
其中包含一个令人难以置信的“通用数学运算符”实现,它应该与您创建通用矩阵数学类的尝试很好地对齐。它实际上让我(有点)想起了 python 以及它如何处理直接引用运算符函数。
(除了@jon-skeet:这是否有可能进入 Nuget?)
他们测试中的一些示例用法:
double sumOperator = 0;
for (int i = 0; i < COUNT; i++)
{
sumOperator = Operator.Add(sumOperator, rand.NextDouble());
}
int sumOperator = 0;
for (int i = 0; i < COUNT; i++)
{
sumOperator = Operator.Add(sumOperator, rand.Next(MAXVALUE));
}
关于c# - 如何在泛型类 c# 中为运算符使用 where?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14758815/