Tag: clr

.NET 4.0和可怕的OnUserPreferenceChanged Hang

我一直受到可怕的OnUserPreferenceChanged Hang的困扰,Ivan Krivyakov在这里很好地提到了这里: http://ikriv.com/en/prog/info/dotnet/MysteriousHang.html#BeginInvokeDance 我刚回来时发布了一个问题,当时我最初遇到问题: 又一个C#死锁调试问题 我以为我已经通过移除一个由UI线程构建的Control来解决它,但过了一会儿它再次出现(可能永远不会离开……)。 我们一直在使用.NET 3.5,据我所知使用的是CLR 2.0。 最近,applciation已升级为使用.NET 4.0 Client Profile / CLR 4.0。 此外,我们已从Infragistics WinForms 10.1升级到10.3。 唯一的另一个区别是以前的版本是混淆的……有没有人遇到过混淆和挂起的问题? 我已经再次尝试摆脱任何应用程序挂起一次又一次,但不同寻常的是,我无法在最新版本中重现挂起(使用.NET 4.0)。 使用Ivan Krivyakov的方便的Freezer应用程序(请参阅他的文章),可以根据请求触发WM_SETTINGCHANGE消息,以便在以前的版本(使用.NET 3.5)中重现。 可能是我有点希望问题已经从它自己的消失中消失了,但是有人知道CLR从2.0到4.0是否有任何变化会导致这种情况发生? ————————————————– – -解 – – – – – – – – – – – – – – – – – – – – – – – —- 因此,在测试应用程序的变体后,例如CLR […]

为什么Random.Next()总是返回相同的数字

考虑这种方法: private static int GenerateRandomNumber(int seed, int max) { return new Random(seed).Next(max); } 在我的机器上,执行此循环会产生相同数量的1500次迭代: for (int i = 0; i < 1501; i++) { int random = GenerateRandomNumber(100000000, 999999999); Console.WriteLine(random.ToString()); Console.ReadKey(); } 每次迭代我得到145156561。 我没有一个紧迫的问题,我只是对这种行为感到好奇,因为.Next(max)说“返回一个非负的随机数小于指定的最大值。也许我不理解一些基本的东西。