rtstatic void Main(string[] args)
{
    MyDouble? my = new MyDouble(1.0);
    bool isEqual = my == 8.0;
}
struct MyDouble
{
    Double? _value;
    public MyDouble(Double value)
    {
        _value = value;
    }
    public static implicit operator Double(MyDouble value)//这里operator Double执行两次
    {
        if (value._value.HasValue)
        {
            return value._value.Value;
        }
        throw new Exception();
    }
}