好的,我知道这是不可能的,但这是制定问题标题的最佳方法。问题是,我试图使用自己的自定义类而不是float(用于确定性仿真),并且我希望语法尽可能地接近。所以,我当然希望能够写类似
FixedPoint myNumber = 0.5f;
是否有可能?
最佳答案
是的,如果此类是您编写的,则可以为FixedPoint
创建一个隐式类型转换运算符。
class FixedPoint
{
public static implicit operator FixedPoint(double d)
{
return new FixedPoint(d);
}
}
如果对于读者/编码器而言,
double
不能转换为FixedPoint
,您还可以使用显式类型转换。然后,您必须编写:FixedPoint fp = (FixedPoint) 3.5;
关于c# - 重载= C#中的运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13158227/