Debugging 在MonoDevelop中调试时出现无效的random.NextDouble值
在Linux Mint 17上运行MonoDevelop 4.0.12,在使用Random.NextDouble时遇到了一个奇怪的问题 考虑这一点:Debugging 在MonoDevelop中调试时出现无效的random.NextDouble值,debugging,mono,monodevelop,Debugging,Mono,Monodevelop,在Linux Mint 17上运行MonoDevelop 4.0.12,在使用Random.NextDouble时遇到了一个奇怪的问题 考虑这一点: Random r = new Random (); double dd = r.NextDouble (); Console.WriteLine (dd); dd = r.NextDouble (); Console.WriteLine (dd); 在monodevelop中运行,一切正常 0.226428853800577 0.33170941
Random r = new Random ();
double dd = r.NextDouble ();
Console.WriteLine (dd);
dd = r.NextDouble ();
Console.WriteLine (dd);
在monodevelop中运行,一切正常
0.226428853800577
0.331709416335702
不管我跑了多少次
在monodevelop中调试,并非所有
3.75
0
NextDouble假设给我一个介于0.0和1.0之间的数字。更奇怪的是,调试器为dd的两个值显示了5.25和3.5的值
每次运行时,控制台都会显示不同的错误输出,但调试器会显示相同的输出
有什么想法吗
我使用libmono-debugger-soft4.0a-cil作为调试器v3.2.8+dfsg-4ubuntu1。我尝试过构建不同版本的.NET,并给随机的、相同的东西一个明确的种子
MonoDevelop
Version 4.0.12
Runtime:
Mono 3.2.8 (Debian 3.2.8+dfsg-4ubuntu1) (64-bit)
GTK 2.24.23
GTK# (2.12.0.0)
从官方存储库中删除所有mono并从PPA中安装,现在一切正常
必须是monodevelop、debugger或Mint 17 Ubuntu14.04打包的运行时中的一个bug,查看int dd=intr.NextDouble*int.MaxValue时结果是否更好;尝试通过检查双变量或不检查双变量来隔离该值。无论我调用它多少次,都会得到相同的值2147483645。在显示和调试器中。运行时,它会给出两个不同的值。。。。。。很奇怪!我什么都没有。在VS中运行良好:我相信它确实如此:。谢谢你的关注。