NET随机数生成开源库
RandN 是一个面向 .NET 的随机数生成库,定位为 .NET Random 的现代替代品。正文明确指出,它试图解决 Random 在性能、统计质量以及 API 设计上容易误用的问题,并借鉴 Rust Rand crate 的设计思路,可理解为“随机数领域的 NodaTime”。
功能上,RandN 提供多类 RNG:通用的 StandardRng、SmallRng、ThreadLocalRng,以及可复现的 ChaCha、PCG32、Mersenne Twister、XorShift 等。StandardRng 和 ThreadLocalRng 标注为加密安全,SmallRng 则偏向更快和更小状态。对于需要固定种子复现实验或测试的场景,文档说明实现 IReproducibleRngFactory 的类型会保证同一种子产生相同序列。
RandN 不只是随机字节或整数生成器,还提供 Bernoulli、Uniform、Unit Interval、Singleton 等分布,支持整数、浮点、decimal、TimeSpan 等类型。API 示例清晰,例如用 Bernoulli.FromRatio(8, 10) 表达 80% 概率,用 Uniform.NewInclusive(1, 6) 表达骰子。它通过 NuGet 安装,并提供 GitHub、.NET Fiddle 示例以及 RandomShim,便于把现有依赖 Random 的代码渐进迁移。
正文未给出商业定价,呈现形式是 GitHub 与 NuGet 库;是否有具体开源许可证未在抓取内容中明确。文档质量整体较好,按 v0.1.x 到 v0.5.x 版本组织,覆盖 Usage、RNGs、Distributions、Reproducibility 和 Extending RandN,也会标注过时组件,如建议用 SystemCryptoRng 替代 CryptoServiceProvider。
优点是算法覆盖面较广,API 设计比直接使用 Random 更不易踩坑,并同时兼顾加密安全、性能和可复现需求。缺点是正文缺少性能基准、许可证、维护团队和支持渠道信息;部分算法还提示未来可能迁出主包。它适合 .NET 后端、游戏、仿真、测试数据生成、概率抽样和安全随机数需求场景。
中国访问情况正文未说明,NuGet 与 GitHub 在国内网络环境下可能受网络波动影响,但不能据此判定项目站点可用性。若访问受限,可考虑 .NET 内置 RandomNumberGenerator、Random 或其他 NuGet 随机数/统计分布库作为替代。
本测评基于公开资料整理,不构成购买建议,请以 randn.dev 官网实际信息为准。
开源开发库,适合.NET开发者。
评分明细(分布与用户短评)接入中。当前展示 TG4G 综合评分,数据源自公开测评与用户反馈。