2020-03-20C# Random循环生成随机数重复问题解决方案
一次为了写产生多个随机数时,写成了下面代码,然后发现产生的随机数都是重复的。
for (int i = 1; i < 3; i++) { Random rnd2 = new Random(); timu_default.Add(Math.Round((rnd2.Next(10, 100) / 11.1), 2).ToString("#0.00")); }
之所以会出现这样的情况是因为C#生成随机数和计算的时间有关系,如果计算时间太短就会造成这个问题。
所以解决问题方法如下
方法1:
for (int i = 1; i < 3; i++) { Random rnd2 = new Random(); timu_default.Add(Math.Round((rnd2.Next(10, 100) / 11.1), 2).ToString("#0.00")); Thread.Sleep(100); }
但是测试了后,执行效率太低。不推荐!
方法2:
for (int i = 1; i < 3; i++) { Random rnd2 = new Random(Guid.NewGuid().GetHashCode()); timu_default.Add(Math.Round((rnd2.Next(10, 100) / 11.1), 2).ToString("#0.00")); }
完美解决!
相关文章
- C# 报错 其他信息: 输入数组长度大于此表中的列数。
- c# 实现一键下载无水印抖音视频(全代码奉献)
- C#导出数据到EXCEL文件,过长的数值被转义的解决方法
- C#如何将数组中数据转成datagridview中的数据
- C#中 random.Next(a, b)范围|C#中random方法的随机数产生范围
- C#报错 HResult=-2146233033 Message=输入字符串的格式不正确。
- C#如何引入Windowsmediaplayer控件
- C#报错:[其他信息: 线程间操作无效: 从不是创建控件“Form1”的线程访问它。]
- DataGridView 清空时出现System.ArgumentException:“不能清除此列表。”
- C#报错:dataGridView的未将对象引用设置到对象的实例
暂无留言,快抢沙发!