生成若干随机数,且不重复

 优快云大神caozhy关于生成1-20随机数,生成10个,不能重复 LINQ写法

var num = Enumerable.Range(1, 20)
    .Select(x => new{ v = x, k = Guid.NewGuid().ToString() }).ToList()
    .OrderBy(x => x.k)
    .Select(x => x.v)
    .Take(10).ToList();
foreach(var i innum)
{
    Console.WriteLine(i);
}

补充:上方法可能会出现重复

            bool[] flag = new bool[initN];
            int[] result = new int[10];
            Random ran = new Random();
            for (int i = 0; i < result.Length; i++)
            {
                int temp = ran.Next(0, flag.Length);
                while (flag[temp])
                {
                    temp = ran.Next(0, flag.Length);
                }
                flag[temp] = true;
                result[i] = temp;
            }
            foreach (int i in result)
            { Console.WriteLine(i); }




?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值