「基础」C#中的随机数

8 篇文章 0 订阅
public   partial   class  RandomNum : System.Web.UI.Page
{

    
protected void Page_Load(object sender, EventArgs e)
    
{
        
//方法一产生随机数。
        Response.Write(getRandomOne()+"<br/>");
        
//方法二产生随机数。
        int[] arr = getRandomNum(6120); //从1至20中取出6个互不相同的随机数

        
int i = 0;

        
string temp = "";

        
while (i <= arr.Length - 1)
        
{
            temp 
+= arr[i].ToString() + " ";
            i
++;
        }


        Response.Write(temp
+"<br/>");
        
    }

    
private int getRandomOne()
    
{
        
//Thread.Sleep(25);
        Random r = new Random();
        
return r.Next(01000);
    }

    
public int[] getRandomNum(int num, int minValue, int maxValue)
    
{
        Random ra 
= new Random(unchecked((int)DateTime.Now.Ticks));

        
int[] arrNum = new int[num];

        
int tmp = 0;

        
for (int i = 0; i <= num - 1; i++)
        
{
            tmp 
= ra.Next(minValue, maxValue); //随机取数
            arrNum[i] = getNum(arrNum, tmp, minValue, maxValue, ra); //取出值赋到数组中

        }


        
return arrNum;
    }

    
public int getNum(int[] arrNum, int tmp, int minValue, int maxValue, Random ra)
    
{
        
int n = 0;
        
while (n <= arrNum.Length - 1)
        
{

            
if (arrNum[n] == tmp) //利用循环判断是否有重复
            {
                tmp 
= ra.Next(minValue, maxValue); //重新随机获取。
                getNum(arrNum, tmp, minValue, maxValue, ra);//递归:如果取出来的数字和已取得的数字有重复就重新随机获取。
            }

            n
++;
        }

        
return tmp;
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值