【发布时间】:2021-08-22 11:07:34
【问题描述】:
我正在尝试在 F# 中使用 System.Random,但不断得到重复值。我知道,如果我每次创建 System.Random 的新实例。下一步我可能会得到重复的值。我想要实现的是在创建它们时在每条记录上设置一个随机 id。下面是代码中的问题示例:
[<AutoOpen>]
module Domain =
type Test = {id: int; ....}
module Test =
let r = System.Random()
let t create =
{id = r.Next(); ....}
let a = Test.create
let b = Test.create
在上面的代码中,bot a 和 b 获得了相同的 id。
我猜正在发生的事情是let r = System.Random() 不会被视为变量,而是作为返回随机新实例的函数。这个对吗?我该如何解决这个问题?
谢谢!
【问题讨论】:
标签: .net random f# random-seed