C#多线程 随机数

起三个线程随机1到20之间的随机数并且避免三个线程随机出的数重复谁能帮我写一下?只要控制不重复的代码就好,,谢!!... 起三个线程
随机 1 到 20 之间的随机数
并且避免三个线程随机出的数 重复

谁能帮我写一下? 只要控制不重复的代码就好,,谢!!
展开
 我来答
pot2217331
推荐于2016-10-22 · TA获得超过226个赞
知道小有建树答主
回答量:201
采纳率:100%
帮助的人:89万
展开全部
下面的方法就会控制数字不会重复:

object obj = new object();
int count = 20;
IList<int> num = new List<int>();

//集合里存放1-20的数字
private void MyMethod()
{
for (int i = 1; i < 21; i++)
{
num.Add(i);
}
}
//生成随机数,保证不会数字重复
private int CreatRandomNumber()
{
lock (obj) //防止同一时间生成同样的数字
{
Random r = new Random();
int n = r.Next(0, count);
int resultnum = num[n]; //用随机数做集合下标取集合中数字
num.RemoveAt(n); //去除已经获取了的数字,之后就不会重复了
count--;
return resultnum;
}
}
顺畅又灵秀丶君子兰1175
2011-01-21 · TA获得超过1247个赞
知道小有建树答主
回答量:889
采纳率:100%
帮助的人:634万
展开全部
Random类根据计算机当前时间作为基数,进行计算,得出一长串随机数。
你取两个Random对象均取相同范围内的第一个数,当然是相同的。
希望能给予帮助。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式