none
这段程序的3个问题 RRS feed

  • 问题

  • 这段程序为什么非得加这么多console。read才能停下来显示框,不加就会自己退出框

    还有我想计算现在的时间到公元0年0月0日,0时0分0秒差多少秒如何做?

    因为某些原因我想使程序设定一个界限在10的63次方我想问的是double好像不能存这么大的数,可是c里面的long double好像c#不能用,怎么办,而且即使只是比较大小,在计算过程中也会强制转换成double好像,所以我用double的a*b-pow(10^63)不会显示正确的结果。对这些很疑惑

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace ConsoleApplication2
    {
        class Program
        {
            public static void Main(string[] args)
            {
                int a=0;
                int time=Console.Read();
                a += 乱数(time); Console.Read();
                Console.Write(a); Console.Read();
                Console.Read(); 
            }
            public static int 乱数(int s) {
               string time=(DateTime.Now.Second-DateTime.Now.AddYears(-2017).Second).ToString();
               Console.Write("time is {0}", time); Console.Read(); Console.Read();
               double time2 = Convert.ToDouble(time);

                return 1;
            }

        }
    }

               
    2018年1月2日 11:04

答案

  • Hi 流星枪,

    欢迎在MSDN论坛发帖。

    我测试你的代码,发现乱数这个函数的s参数,并没有什么用,还有你输入的time 变量是int类型,和datetime的类型不一致,并且后面的代码,也没有转换。

    根据debug的结果,乱数函数里面的time 变量的返回值是1,这结论应该是对的,现在已经是2018年,减去2017,正好是1.

    我这边为你找到datetime 比较的demo,你可以参考别人的写法,来进行比较。

    https://gist.github.com/faisalman/1724253

    Best Regards,

    Hart

    注意:此回复包含对第三方万维网站点的引用。 Microsoft提供此信息为您提供方便。 Microsoft不控制这些网站,并且没有测试在这些网站上发现的任何软件或信息; 因此,Microsoft不能对任何软件或信息的质量,安全性或适用性做任何声明。 使用互联网上发现的任何软件都存在固有的危险,Microsoft警告您,在从互联网检索任何软件之前,请确保您完全理解风险。


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 流星枪 2018年1月3日 12:41
    2018年1月3日 8:06
    版主

全部回复

  • Main方法最后一行加一句Console.Read(); 程序就可以停下来。

    公元0年0月0日,0时0分0秒差多少秒如何做,计算时间差用TimeSpan

    DateTime dt1 = DateTime.Now;
    DateTime dt2 = DateTime.Now.AddDays(-7);
    TimeSpan ts = dt1 - dt2;



    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2018年1月3日 1:02
  • 我试过不行的。而且试过很多次,你复制使用过吗?

    我是vs2012frame4.5框架

    视频上传挺麻烦,就不弄了

    2018年1月3日 4:42
  • Hi 流星枪,

    欢迎在MSDN论坛发帖。

    我测试你的代码,发现乱数这个函数的s参数,并没有什么用,还有你输入的time 变量是int类型,和datetime的类型不一致,并且后面的代码,也没有转换。

    根据debug的结果,乱数函数里面的time 变量的返回值是1,这结论应该是对的,现在已经是2018年,减去2017,正好是1.

    我这边为你找到datetime 比较的demo,你可以参考别人的写法,来进行比较。

    https://gist.github.com/faisalman/1724253

    Best Regards,

    Hart

    注意:此回复包含对第三方万维网站点的引用。 Microsoft提供此信息为您提供方便。 Microsoft不控制这些网站,并且没有测试在这些网站上发现的任何软件或信息; 因此,Microsoft不能对任何软件或信息的质量,安全性或适用性做任何声明。 使用互联网上发现的任何软件都存在固有的危险,Microsoft警告您,在从互联网检索任何软件之前,请确保您完全理解风险。


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 流星枪 2018年1月3日 12:41
    2018年1月3日 8:06
    版主
  • 你的链接挂了。

    我这段代码是我打算制作乱数的程序时写的,还没有写完所以有你说的问题

    我估计我这问题是console.read直接赋值给int后面留了什么暂停的字符。输出int就直接退出显示了。可是我这段代码又能停下来所以奇怪。

    不过也不纠结了,就这样吧

    2018年1月3日 12:41
  • 倒是想问问c里面的long double ,c#有吗,我输入long double他识别不了,是不是没有
    2018年1月3日 12:42