1
using
System;
2
3
namespace
DotNet.Utilities
4
{
5
public
class
RandomOperate
6
{
7
//
一:随机生成不重复数字字符串
8
private
int rep = 0;
9publicstring GenerateCheckCodeNum(int codeCount)
10 {
11string str = string.Empty;
12long num2 = DateTime.Now.Ticks + this.rep;
13this.rep++;
14 Random random = new Random(((int)(((ulong)num2) & 0xffffffffL)) | ((int)(num2 >> this.rep)));
15for (int i = 0; i < codeCount; i++)
16 {
17int num = random.Next();
18 str = str + ((char)(0x30 + ((ushort)(num % 10)))).ToString();
19 }
20return str;
21 }
2223//方法二:随机生成字符串(数字和字母混和)24publicstring GenerateCheckCode(int codeCount)
25 {
26string str = string.Empty;
27long num2 = DateTime.Now.Ticks + this.rep;
28this.rep++;
29 Random random = new Random(((int)(((ulong)num2) & 0xffffffffL)) | ((int)(num2 >> this.rep)));
30for (int i = 0; i < codeCount; i++)
31 {
32char ch;
33int num = random.Next();
34if ((num % 2) == 0)
35 {
36 ch = (char)(0x30 + ((ushort)(num % 10)));
37 }
38else39 {
40 ch = (char)(0x41 + ((ushort)(num % 0x1a)));
41 }
42 str = str + ch.ToString();
43 }
44return str;
45 }
4647#region4849///<summary>50/// 从字符串里随机得到,规定个数的字符串.
51///</summary>52///<param name="allChar"></param>53///<param name="CodeCount"></param>54///<returns></returns>55privatestring GetRandomCode(string allChar, int CodeCount)
56 {
57//string allChar = "1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,i,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z"; 58string[] allCharArray = allChar.Split(‘,‘);
59string RandomCode = "";
60int temp = -1;
61 Random rand = new Random();
62for (int i = 0; i < CodeCount; i++)
63 {
64if (temp != -1)
65 {
66 rand = new Random(temp * i * ((int)DateTime.Now.Ticks));
67 }
6869int t = rand.Next(allCharArray.Length - 1);
7071while (temp == t)
72 {
73 t = rand.Next(allCharArray.Length - 1);
74 }
7576 temp = t;
77 RandomCode += allCharArray[t];
78 }
79return RandomCode;
80 }
8182#endregion83 }
84}
8586//该代码片段来自于: http://www.sharejs.com/codes/csharp/8646
原文:http://www.cnblogs.com/knightyj/p/3604494.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!