0-9数字生成8位随机码,生成多个时不要重复

xiao_xi_ 2010-06-12 06:00:41
0-9数字生成不重复的8位随机码:谁有好的方法啊??或是接近的方法。
0-9数字生成8位随机码,生成多个时不要重复,谁有更好的方法啊??或是接近的方法.
...全文
256 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
xindylin 2010-06-13
  • 打赏
  • 举报
回复
http://blog.csdn.net/xindylin/archive/2010/05/25/5622950.aspx
应该可以解决你的问题
xuyiazl 2010-06-12
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 wuyazhe 的回复:]

蛮爽的。你啥时候回来yy群?群里来了个超级漂亮的mm。
[/Quote]

既然出来这么久 就不打算回去了。。。 QQ都几乎没聊了。。。
兔子-顾问 2010-06-12
  • 打赏
  • 举报
回复
蛮爽的。你啥时候回来yy群?群里来了个超级漂亮的mm。
xuyiazl 2010-06-12
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 wuyazhe 的回复:]

0~9,取8个,稍微改一下
C# code
System.Random rnd = new System.Random(Environment.TickCount);
IEnumerable<int> numbers = Enumerable.Range(0, 9).OrderBy(r => rnd.Next()).Take(8);
List<int> nums = numbers.ToLi……
[/Quote]

乌鸦你最近用linq用的挺哈皮的么~~

还是爱上了lambda风格?
wuyq11 2010-06-12
  • 打赏
  • 举报
回复
Random rnd= new Random(DateTime.Now.Millisecond);
IEnumerable<int> numbers = Enumerable.Range(0, 10).OrderBy(r => rnd.Next());
WoNiuIsWorking 2010-06-12
  • 打赏
  • 举报
回复
datetime.now.ticks
缪军 2010-06-12
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 wuyazhe 的回复:]
0~9,取8个,稍微改一下

C# code
System.Random rnd = new System.Random(Environment.TickCount);
IEnumerable<int> numbers = Enumerable.Range(0, 9).OrderBy(r => rnd.Next()).Take(8);
List<int> nums = numbers.T……
[/Quote]

我想,这个代码执行2次就会有重复的了吧
兔子-顾问 2010-06-12
  • 打赏
  • 举报
回复
0~9,取8个,稍微改一下
System.Random rnd = new System.Random(Environment.TickCount);
IEnumerable<int> numbers = Enumerable.Range(0, 9).OrderBy(r => rnd.Next()).Take(8);
List<int> nums = numbers.ToList();
兔子-顾问 2010-06-12
  • 打赏
  • 举报
回复
System.Random rnd = new System.Random(Environment.TickCount);
IEnumerable<int> numbers = Enumerable.Range(1, 1000).OrderBy(r => rnd.Next()).Take(10);
List<int> nums = numbers.ToList();
gujunfenzhan 2010-06-12
  • 打赏
  • 举报
回复
可以自己拼装当前的时间,相同的概率应该比较小
缪军 2010-06-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ksy 的回复:]
生成随机数关键是种子,种子不重复生成的随机数就不重复,GUID是系统随机产生不重复的128位数字,可以取其部分作为种子或直接使用其中一部分作为随机数。
[/Quote]

GUID理论上也是会重复的,只不过种子范围太大了,在目前的应用看来可以近似认为是没有范围限制的
ksy 2010-06-12
  • 打赏
  • 举报
回复
生成随机数关键是种子,种子不重复生成的随机数就不重复,GUID是系统随机产生不重复的128位数字,可以取其部分作为种子或直接使用其中一部分作为随机数。
缪军 2010-06-12
  • 打赏
  • 举报
回复
你把范围限制了,就肯定会有重复
xiao_xi_ 2010-06-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hualoveqi 的回复:]
每生成一个与上次生成的那个进行比较,如果相等继续,反之!!
[/Quote]
生成很多的话,服务器可能会卡死的!
hualoveqi 2010-06-12
  • 打赏
  • 举报
回复
每生成一个与上次生成的那个进行比较,如果相等继续,反之!!
gnimgnot 2010-06-12
  • 打赏
  • 举报
回复
要确保不重复就得让生成下一个的时候判断是不是与现有的重复
kkbac 2010-06-12
  • 打赏
  • 举报
回复
先生成存数据库.重复就再生成

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧