标签:open ext date turn splay net one 数位 []
using System; namespace DotNet.Utilities { public class BaseRandom { public static int Minimum=100000; public static int Maximal=999999; public static int RandomLength=6; private static string RandomString="0123456789ABCDEFGHIJKMLNOPQRSTUVWXYZ"; private static Random Random=new Random(DateTime.Now.Second); #region public static string GetRandomString() public static string GetRandomString() { string returnValue=string.Empty; for(int i=0;i<RandomLength;i++) { int r=Random.Next(0,RandomString.Length-1); returnValue +=RandomString[r]; } return returnValue; } #region public static int GetRandom() public static int GetRandom() { return Random.Next(Minimum,Maximal); } #endregion #region public static int GetRandom(int minimum,int maximal) public static int GetRandom(int minimum,int maximal) { return Random.Next(minimum,maximal); } #endregion } }
using System; namespace DotNet.Utilities { ///使用Random类生成伪随机数 public class RandomHelper { //随机数对象 private Random _random; #region 构造函数 public RandomHelper() { //为随机数对象赋值 this._random=new Random(); } #endregion #region 生成一个指定范围的随机整数 public int GetRandomInt(int minNum,int maxNum) { return this._random.Next(minNum,int maxNum); } #endregion #region 生成一个0.0到1.0的随机小数 public double GetRandomDouble() { return this._random.NextDouble(); } #endregion #region对一个数组进行随机排序 public void GetRandomArray<T>(T[] arr) { int count=arr.Length; //开始交换 for(int i=0;i<count;i++) { //生成两个随机数位置 int randomNum1=GetRandomInt(0,arr.Length); int randomNum2=GetRandomInt(0,arr.Length); //定义临时变量 T temp; //交换两个随机数位置的值 temp =arr[randomNum1] arr[randomNum1]=arr[randomNum2]; arr[randomNum2]=temp; } } #endregion } }
using System; namespace DotNet.Utilities { public class RandomOperate { //一:随机生成不重复数字字符串 private int rep=0; public string GenerateCheckCodeNum(int codeCount) { string str=string.Empty; long num2=DateTime.Now.Ticks+this.rep; this.rep++; Random random=new Random(((int)(((ulong)num2)&0xffffffffL))|((int)(num2>>this.rep))); for(int i=0;i<codeCount;i++) { int num=random.Next(); str=str+((char)(0x30+((ushort)(num%10)))).ToString(); } return str; } //方法二:随机生成字符串(数字和字母混合) public string GenerateCheckCode(int codeCount) { string str=string.Empty; long num2=DateTime.Now.Ticks+this.rep; this.rep++; Random random=new Random(((int)(((ulong)num2)&0ffffffffL))|((int)(num2>>this.rep))); for(int i=0;i<codeCount;i++) { char ch; int num=random.Next(); if((num%2)==0 { ch=(char)(ox30+((ushort)(num%10))); } else { ch=(char)(0x41+((ushort)(num%0x1a))); } str=str+ch.ToString(); } return str; } #region private string GetRandomCode(string allChar,int CodeCount) { string[] allCharArray=allChar.Split(‘,‘); string RandomCode=""; int temp=-1; Random rand=new Random(); for(int i=0;i<CodeCount;i++) { if(temp !=-1) { rand-new Random(temp*i*((int)DateTime.Now.Ticks)); } int t=rand.Next(allCharArray.Length-1); while (temp==t) { t=rand.Next(allCharArray.Length-1); } temp=t; RandomCode +=allCharArray[t]; } return RandomCode; } #endregion } }
标签:open ext date turn splay net one 数位 []
原文地址:http://www.cnblogs.com/zzp0320/p/7156335.html