smhy8187

 

随机字符串


    
class gloser
    
{
        Random m_rnd 
= new Random();
        
public char getRandomChar()
        
{
            
int ret = m_rnd.Next(122);
            
while (ret < 48 || (ret > 57 && ret < 65|| (ret > 90 && ret < 97))
            
{
                ret 
= m_rnd.Next(122);
            }

            
return (char)ret;
        }

        
public string getRandomString(int length)
        
{
            StringBuilder sb 
= new StringBuilder(length);
            
for (int i = 0; i < length; i++)
            
{
                sb.Append(getRandomChar());
            }

            
return sb.ToString();
        }

    }
posted on 2005-12-22 14:10 gloser 阅读(1194) 评论(1)  编辑  收藏 网摘
Comments
  • # re: 也来个c#随机生成字符串
    死去的野狼
    Posted @ 2007-06-09 13:31
    while (ret < 48 || (ret > 57 && ret < 65) || (ret > 90 && ret < 97))
    {
    ret = m_rnd.Next(122);
    }

    呵呵 差点没看懂,原来就是为了找字母啊。  回复  更多评论   


vb.net版
Private Shared constant As Char() = {"0""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""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"

Public Shared Function GenerateRandom(ByVal Length As IntegerAs String 
 
Dim newRandom As System.Text.StringBuilder = New System.Text.StringBuilder(62
 
Dim rd As Random = New Random 
 
Dim i As Integer = 0 
 
While i < Length 
   newRandom.Append(constant(rd.Next(
62))) 
   System.Math.Min(System.Threading.Interlocked.Increment(i),i
-1
 
End While 
 
Return newRandom.ToString 
End Function
c#版
private static char[] constant=
  
{
   
'0','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',
   
'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'
  }
;
  
public static string GenerateRandom(int Length)
  
{   
   System.Text.StringBuilder newRandom 
= new System.Text.StringBuilder(62);
   Random rd
= new Random();
   
for(int i=0;i<Length;i++)
   
{
    newRandom.Append(constant[rd.Next(
62)]);
   }

   
return newRandom.ToString();
  }
调用
string str=GenerateRandom(6);//参数表示需要产生随机数的数目


posted on 2007-09-10 17:26  new2008  阅读(611)  评论(0编辑  收藏  举报

导航