c# - System.Random 默认构造函数系统时钟分辨率?

标签 c# .net random

我在几个过程中使用 System.Random 的默认构造函数来生成随机数。 我在 MSDN 上读到过它,但它没有说明它使用的特定系统时钟分辨率,例如 System.Random 是否以毫秒或秒为单位获取系统时钟种子?在多个进程中使用默认构造函数来获取它们之间的随机值是否安全?

干杯

最佳答案

它使用 Environment.TickCount 你可以在 Reflector 中检查它。 但重点是获得一个唯一的种子,因此您可以使用 ProcessID 对该值进行算术运算。喜欢:

Random(Environment.TickCount + System.Diagnostics.Process.GetCurrentProcess().Id);

等等

关于c# - System.Random 默认构造函数系统时钟分辨率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13252520/

相关文章:

c# - 如何生成与以前在 C# 中随机生成的 key 相同的 key

c# - 使用 EmguCV (OpenCV) 求解共面点位姿估计

c# - 互操作:结构成员名称与 c# 关键字冲突 - 事件

c# - 部分类构造器

c# - 如何将正确的 url 嵌入到 HTML 字符串中的自定义字体

c# - 在 Controller 类之外获取 IRouter 实例的最简单方法

c# - 我如何摆脱点击一次?

c++ - 使用 boost::random 改组 vector 时出现问题

C# 确保随机数的存在

sql-server-2008 - 在SQL Server 2008 R2中生成X位随机数