1. 程式人生 > >C#隨機數類

C#隨機數類

div fff num display region ati length 對象 隨機數

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
}
}
View Code

C#隨機數類