最常用方式是复用同一Random实例,避免循环中重复创建;多线程应使用Random.Shared(.NET 6+)或ThreadLocal;安全场景必须用RandomNumberGenerator。
用 Random 类生成基本随机数
最常用也最直接的方式是实例化 Random 类,然后调用它的方法。注意:不要在循环里反复新建 Random 实例,否则可能因种子相同导致重复序列。
推荐做法是复用同一个实例,尤其在高频调用场景下:
var rand = new Random();
int num = rand.Next(); // 0 到 int.MaxValue 之间
int range = rand.Next(1, 101); // 1 到 100(不含 101)
double d = rand.NextDouble(); // [0.0, 1.0)
Random 在多线程下不安全
Random 实例不是线程安全的。多个线程同时调用 Next() 可能抛出 InvalidOperationException 或返回异常值(如负数、超限值)。
解决方案有三种,按推荐顺序:
- 用
ThreadLocal 每线程隔离实例
- 改用
Random.Shared(.NET 6+,静态、线程安全)
- 加锁(性能差,仅临时应急)
.NET 6 起推荐写法:
int safeNum = Random.Shared.Next(1, 101);
需要密码学安全?别用 Random
Random 和 Random.Shared 都是伪随机,可预测,**绝不能用于生成 Token、加密密钥、验证码盐值等安全敏感场景**。
应改用 System.Security.Cryptography.RandomNumberGenerator:
var bytes = new byte[4];
RandomNumberGenerator.Fill(bytes);
int cryptoRand = BitConverter.ToInt32(bytes) &
0x7FFFFFFF;
这个值不可预测,但开销比 Random 高一个数量级,只在真正需要时用。
常见陷阱和兼容性注意
容易被忽略的点:
-
Next(min, max) 的 max 是**排他上限**,比如 Next(0, 5) 只返回 0–4
- .NET Framework 与 .NET Core/.NET 5+ 的
Random 算法不同,同一种子产生的序列不一致
- 给
Random 传固定种子(如 new Random(42))适合测试,但线上必须省略参数或用系统时间
- Unity 中若在
Update() 里每帧 new Random(),大概率得到一串相同数字
种子逻辑本身不难,但错一次就可能让“随机”变成“固定”,尤其在分布式或高并发服务里,得盯紧实例生命周期和调用上下文。
相关推荐:
SEO动态:2025年SEO趋势与优化技巧解析,做网站优化分析
邦途VPS用户名,网络通行证的安全快捷之道
机房设计现在怎么样?
seo能换什么行业,seo适合的行业 鹤壁生产厂家推广营销
seo搜索是什么,seo 搜索引擎 ,ai kesen
seo网站通过什么软件,网站seo软件哪个 ,ai文字转换ai语音
SEO查看-如何通过精确分析提升网站流量与排名,中山神马seo代运营
seo是什么化学元素,seo表示什么 ,小熊 ai
SEO广告:如何借助SEO提升品牌曝光与销售业绩?,东城企业网站建设管家
seo是什么味儿,seo是啥意思啊 汽车网站建设情况分析
seo面试会问到什么,面试问你seo你是怎么做的 西安网站建设kxccc
产品经理seo是什么,产品经理seo是什么意思 ,ai小洋
VPS瑞云服务器,云端高效稳定的先锋,引领未来之选!
seo是什么站外流量,seo主要流量来自什么页面 ,围棋ai跟象棋ai
seo站内关键词优化,seo关键词优化经验技巧 ,飞行坦克ai
seo文章写作是什么工作,seo文章写作是什么工作内容 ,ai 鬼怪
为什么说seo重要,为什么说seo重要一点 ,ai扩图ai动画
SEO抢权:如何在竞争激烈的市场中占得先机,赫哥企业营销推广
seo是什么+粤语,seo 粤语 ,白色头发头像ai
永城科士达机房空调怎么样?
SEO妍:搜索引擎优化的艺术,轻松打造网络营销新未来,电*频网站怎么推广
SEO建站,开启网站优化的全新篇章!,网站微信推广合同
seo是什么工作内容,seo主要是做什么的 天水网站建设惠普
seo工作有什么,seo的工作 浙江短视频seo项目公司
seo有什么意义,seo的概念是什么 ,AI在绘画和写作中的应用
seo属于什么职位类型类别,seo是什么的职务 旅游营销推广定位
seo外链用什么形式,seo外链用什么形式好 saas网站建设优劣
2020年必选VPS推荐,超值低价高品质,轻松上手体验!
SEO北京:数字时代,企业成功的关键,高端网站建设seo优化
一键创作,助你轻松实现创意梦想,东湖如何做网站优化
seo网络推广要做什么,seo 网络推广 ,ai自动写作技巧
seo考试考什么科目,seo工程师考什么证书 常熟网站建设公司
企业站seo是什么,企业整站seo 吕梁网站建设承诺守信
什么叫seo搜索,seo搜索引擎技术 展厅多媒体素材网站推广
seo是什么姓,seo什么意思中文意思 ,ai对策
怎么样选择机房空调?
seo是以什么为导向,何为seo ,ai方面的程序员
SEO管家:为您的网站保驾护航的智能SEO助手,网络推营销年度推广预算
SEO考核:如何通过精准的SEO优化提升网站排名与流量,印花推广营销方案
软件机房怎么样隔声好?
SEO差价如何用SEO优化帮助企业实现成本与效益的完美平衡,杭州商家推广营销公司招聘
seo经验是什么,seo进阶 ,ai练字笔 杭州
什么是seo为什么要优化seo,为什么需要seo 沈阳网站建设模式开发
中原科技电脑机房怎么样?
SEO要不,来看看如何通过SEO优化提高网站流量和曝光度,网站排名seo推广优化
seo站长什么意思,站长工具 - seo综合查询 ,ai描边字
seo种草什么意思,seo yoo na ,ai下个路口
SEO是什么相机软件,seogull是什么牌老相机 济南网站首页推广方案
机房工程公司怎么样发展?
SEO详解:如何优化你的网站提升排名,获得更多流量,赤水seo网站优化