获取随机数
时间:2011-06-13 来源:剑指苍穹怒骂天
/// <summary>
/// 随机排列字符串
/// </summary>
/// <param name="sNumber">需要排列的字符串</param>
/// <returns>排列后的字符串</returns>
public static string ArrangeNumber(string sNumber)
{
int len = sNumber.Length;
char[] A = new char[len];
char[] B = new char[len];
int num = 0;
int i, j;
//把字符串中的字符放到数组A中
for (i = 0; i < A.Length; i++)
A[i] = sNumber[i];
Random random = new Random();
//获取随机数,对数组A中的元素重新随机排列,放到数组B中
for (i = 0, j = A.Length - 1; i < A.Length; i++, j--)
{
//获取一个0到j之间的随机数
num = random.Next(0, j);
//为B[i]赋值
B[i] = A[num];
//交换A[j]于A[num]的值,使得下次取随机数num的时候不再重复
A[num] = A[j];
A[j] = B[i];
}
//把字符型数组重新组成一个字符串
string resultStr = new string(B);
//返回随机排列后的字符串
return resultStr;
}
相关阅读 更多 +