C#随机数

csharp

浏览数:266

2019-1-7


随机数.cs

private string RndNum(int VcodeNum)
{
    string Vchar = "1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z";
    string[] VcArray = Vchar.Split(',');
    string VNum = ""; //由于字符串很短,就不用StringBuilder了
    int temp = -1; //记录上次随机数值,尽量避免生产几个一样的随机数

    //采用一个简单的算法以保证生成随机数的不同
    Random rand = new Random();
    for (int i = 1; i < VcodeNum + 1; i++)
    {
        if (temp != -1)
        {
            rand = new Random(i * temp * unchecked((int)DateTime.Now.Ticks));
        }
        int t = rand.Next(VcArray.Length);
        if (temp != -1 && temp == t)
        {
            return RndNum(VcodeNum);
        }
        temp = t;
        VNum += VcArray[t];
    }
    return VNum;
}