C# 如何生成不重复的随机数?

这段代码生成出来的随机数,有重复,怎么修改?不是生成几百个数,而是上万个数一下生成,请教高手指点。///<summary>///生成随机数字///</summary>//... 这段代码生成出来的随机数,有重复,怎么修改?不是生成几百个数,而是上万个数一下生成,请教高手指点。
/// <summary>
/// 生成随机数字
/// </summary>
/// <param name="Length">生成长度</param>
/// <returns></returns>
public static string RandomNumber(int length)
{
string result = "";
Random random = new Random(unchecked((int)DateTime.Now.Ticks));
for (int i = 0; i < length; i++)
{
result += random.Next(10).ToString();
}
return result;
}
能否详细说明一下,谢谢各位!
展开
 我来答
zzluo
2011-02-23 · TA获得超过496个赞
知道小有建树答主
回答量:440
采纳率:0%
帮助的人:473万
展开全部
先准备好上万个数据的数组(数据不重复)

每次随机取这个数组里的一个数,取完同时删除这个数据
(每次取都在数组宽度范围内的随机索引取值)

这样说明白了吧 。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
情缘一生远
推荐于2016-09-22 · TA获得超过369个赞
知道答主
回答量:403
采纳率:0%
帮助的人:0
展开全部
illisecond其实都是一样的
所以随机数也一样
楼上的也不对,那是没区别

你可以用下面办法试试看
System.Random a= new Random(System.DateTime.Now.Millisecond+i);

+个i,让种子每次都不一样
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
佘宜介彦露
2020-01-19 · TA获得超过1077个赞
知道小有建树答主
回答量:523
采纳率:100%
帮助的人:3.3万
展开全部
使用random生成随机数,并将其保存到数组中,待下次生成时,数组循环遍历,看是否已经存在,不存在就取这个值,并保存到数组中,如果存在就重新取随机值,直到不存在为止,循环即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e56018b
2011-02-23 · TA获得超过273个赞
知道小有建树答主
回答量:142
采纳率:0%
帮助的人:0
展开全部
建议将生成的随机数建立哈希表,每次插入哈希表前先检查是否已经存在此数字,若存在则重新生成。
追问
试试看,谢谢你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
纸迷金醉aaly
2011-02-23 · 超过29用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:77.4万
展开全部
也可以将随机数插入二叉平衡树,同样是有相同的不插入~
最后遍历就是所有的了。

不知道那个效率高。。。。。
追问
我最迷茫的就是二叉树,呜呜....谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式