C# winfrom 随机生成5个在0 到50直接的随机数,切不重复,怎么实现啊

C#winfrom随机生成5个在0到50之间的随机数,且不重复,怎么实现啊... C# winfrom 随机生成5个在0 到50之间的随机数,且不重复,怎么实现啊 展开
 我来答
斩光_者
2014-12-31
知道答主
回答量:17
采纳率:0%
帮助的人:7.6万
展开全部
   主要函数: 
public List<int> getnum()
        {
            Random r = new Random();
            List<int> result = new List<int>();
            int a;
            for (int i = 0; i < 5; i++)     //获得5个随机数
            {
                a = r.Next(0, 50);  //设置范围0~50
                if (i == 0)
                {
                    result.Add(a);
                }
                else
                {
                    if (result.IndexOf(a) > 0)
                    {
                        i = i - 1; //有重复值,重新再来一次
                    }
                    else
                    {
                        result.Add(a);  //无重复值,+1
                    }
                }
            }
            return result;
        }
target420
推荐于2018-04-07 · TA获得超过149个赞
知道小有建树答主
回答量:413
采纳率:0%
帮助的人:221万
展开全部
Random r = new Random();
Dictionary<int, int> dic = new Dictionary<int, int>();
while (dic.Count + 1 < 6)
{
int tmp = r.Next(0, 50);
if (!dic.ContainsKey(tmp))
dic.Add(tmp, 0);
}
这个不是正态随机
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刷新①丅5e6
推荐于2016-11-27 · TA获得超过4333个赞
知道大有可为答主
回答量:1499
采纳率:64%
帮助的人:598万
展开全部
            Random r = new Random();
            Dictionary<int, byte> dic = new Dictionary<int, byte>();
            while (dic.Count + 1 < 5) 
            {
                int tmp = r.Next(0, 50);
                if (!dic.ContainsKey(tmp))
                    dic.Add(tmp, 0);
            }
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式