C#生成随机数或随即字母

来源:互联网 发布:vue.js 数据绑定 编辑:程序博客网 时间:2024/05/02 04:48
   public class Rand
    {
        
/// <summary>
        
/// 生成随机数字
        
/// </summary>
        
/// <param name="length">生成长度</param>
        
/// <returns></returns>
        public static string Number(int Length)
        {
            
return Number(Length, false);
        }

        
/// <summary>
        
/// 生成随机数字
        
/// </summary>
        
/// <param name="Length">生成长度</param>
        
/// <param name="Sleep">是否要在生成前将当前线程阻止以避免重复</param>
        
/// <returns></returns>
        public static string Number(int Length,bool Sleep)
        {
            
if(Sleep)
                System.Threading.Thread.Sleep(
3);
            
string result = "";
            System.Random random 
= new Random();
            
for (int i = 0; i < Length; i++)
            {
                result 
+= random.Next(10).ToString();
            }
            
return result;
        }

        
/// <summary>
        
/// 生成随机字母与数字
        
/// </summary>
        
/// <param name="IntStr">生成长度</param>
        
/// <returns></returns>
        public static string Str(int Length)
        {
            
return Str(Length, false);
        }
        
/// <summary>
        
/// 生成随机字母与数字
        
/// </summary>
        
/// <param name="Length">生成长度</param>
        
/// <param name="Sleep">是否要在生成前将当前线程阻止以避免重复</param>
        
/// <returns></returns>
        public static string Str(int Length, bool Sleep)
        {
            
if(Sleep)
                System.Threading.Thread.Sleep(
3);
            
char[] Pattern = new 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' };
            
string result = "";
            
int n = Pattern.Length;
            System.Random random 
= new Random(~unchecked((int)DateTime.Now.Ticks));
            
for (int i = 0; i < Length; i++)
            {
                
int rnd = random.Next(0,n);
                result 
+= Pattern[rnd];
            }
            
return result;
        }


        
/// <summary>
        
/// 生成随机纯字母随机数
        
/// </summary>
        
/// <param name="IntStr">生成长度</param>
        
/// <returns></returns>
        public static string Str_char(int Length)
        {
            
return Str_char(Length, false);
        }

        
/// <summary>
        
/// 生成随机纯字母随机数
        
/// </summary>
        
/// <param name="Length">生成长度</param>
        
/// <param name="Sleep">是否要在生成前将当前线程阻止以避免重复</param>
        
/// <returns></returns>
        public static string Str_char(int Length, bool Sleep)
        {
            
if (Sleep) System.Threading.Thread.Sleep(3);
            
char[] Pattern = new char[] { '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' };
            
string result = "";
            
int n = Pattern.Length;
            System.Random random 
= new Random(~unchecked((int)DateTime.Now.Ticks));
            
for (int i = 0; i < Length; i++)
            {
                
int rnd = random.Next(0, n);
                result 
+= Pattern[rnd];
            }
            
return result;
        }
    }