当前位置:首页 > C#教程 > C#高级

[转] C#自定义的字符串操作增强类

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

原文:http://www.cnblogs.com/knightyj/p/3604494.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!