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;
}
能否详细说明一下,谢谢各位! 展开
/// <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;
}
能否详细说明一下,谢谢各位! 展开
5个回答
展开全部
先准备好上万个数据的数组(数据不重复)
每次随机取这个数组里的一个数,取完同时删除这个数据
(每次取都在数组宽度范围内的随机索引取值)
这样说明白了吧 。
每次随机取这个数组里的一个数,取完同时删除这个数据
(每次取都在数组宽度范围内的随机索引取值)
这样说明白了吧 。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
illisecond其实都是一样的
所以随机数也一样
楼上的也不对,那是没区别
你可以用下面办法试试看
System.Random a= new Random(System.DateTime.Now.Millisecond+i);
+个i,让种子每次都不一样
所以随机数也一样
楼上的也不对,那是没区别
你可以用下面办法试试看
System.Random a= new Random(System.DateTime.Now.Millisecond+i);
+个i,让种子每次都不一样
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用random生成随机数,并将其保存到数组中,待下次生成时,数组循环遍历,看是否已经存在,不存在就取这个值,并保存到数组中,如果存在就重新取随机值,直到不存在为止,循环即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议将生成的随机数建立哈希表,每次插入哈希表前先检查是否已经存在此数字,若存在则重新生成。
追问
试试看,谢谢你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
也可以将随机数插入二叉平衡树,同样是有相同的不插入~
最后遍历就是所有的了。
不知道那个效率高。。。。。
最后遍历就是所有的了。
不知道那个效率高。。。。。
追问
我最迷茫的就是二叉树,呜呜....谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询