• 并不能用数据类型的精度来判断Interval的可设最大值


    上一篇中说到Timer的Interval, 有朋友反馈说:

    Interval 属性接受的参数是一个double类型的值,double类型的数值是介于 -1.79769313486232e308
    和 +1.79769313486232e308 之间的双精度 64 位数字。
    所以最大的时间是
    1.79769313486232e308 / 1000(秒) /3600(小时)/24(天)/365(年)=
    5.7004475357125824454591577879249E297年

    如果Interval的值真是按数据类型的精度决定有效时间间隔,那么WinForm的Timer 可
    接受的参数是一个int类型,
    那么,按上述推理:
    int 范围: -2,147,483,648 到 2,147,483,647 ,
    有符号 32 位整数 (.NET Framework 类型:System.Int32).
    则System.Windows.Forms.Timer 的 Interval 应该是可设置的最大时间间隔:
    2,147,483,647/3600000/24  =  24.855134803240740740740740740741 天

    但事实并非如此:MSDN明确地说:
    Windows 窗体 Timer 组件间隔可以在 1 64,767 之间(包括 1 64,767,这意味着即使最长的间隔(大约 64.8 秒)也不会超过一分钟很多。

    这里好像用的是Int16而不是Int32 ,我不知道是MSDN里写错了还是.....

    毕竟这是服务器开发,可不能出现这么大的错误。相差很远哦。

     

  • 相关阅读:
    openstack官方指导书
    获取当前日期时间并格式化
    获取url中的参数
    页签切换
    app开屏广告
    开发接口文档--本接口文档是读取控制器方法上的注释自动生成的
    bzoj 1491: [NOI2007]社交网络
    bzoj 3996: [TJOI2015]线性代数
    5.6水题合集
    bzoj 3528: [Zjoi2014]星系调查
  • 原文地址:https://www.cnblogs.com/babyblue/p/3707.html
Copyright © 2020-2023  润新知