碰到一个部问题,以下这段代码是为了生成数字和字母一起的验证码。可是在访问时,总是生4个相同的字母或数字。但是在在调试模式下,它又能生成数字与字母混合的验证码。请高手们指点指点???  
 
string  Vchar  =  "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,W,X,Y,Z"  ;    
string[]  VcArray  =  Vchar.Split(",".ToCharArray());  //将字符串生成数组    
string  VNum="";  
for(int  i=0;i<4;i++)    
{    
System.Random  r  =  new  Random();    
Double  decA  =  r.NextDouble();  
VNum  =  VNum  +  VcArray[Convert.ToInt32(35*decA)];    
}  
return  VNum;

解决方案 »

  1.   

    System.Random  r  =  new  Random();不明白为何放在循环体内???
     private string GenerateCheckCode() 
       { 
       int number; 
       char code; 
       string checkCode = String.Empty; 
       
       System.Random random = new Random(); 
       
       for(int i=0; i<5; i++) 
       { 
       number = random.Next(); 
       
       if(number % 2 == 0) 
       code = (char)('0' + (char)(number % 10)); 
       else 
       code = (char)('A' + (char)(number % 26)); 
       
       checkCode += code.ToString(); 
       }