• 随机数的生成方法


    整理随机数、随机字符串的生成方法:

     1         #region 生成随机数字
     2         /// <summary>
     3         /// 生成随机数字
     4         /// </summary>
     5         /// <param name="length">生成长度</param>
     6         /// <returns></returns>
     7         public static string Number(int length)
     8         {
     9             return Number(length, false);
    10         }
    11         #endregion
    12 
    13         #region 生成随机数字(有线程睡眠时间)
    14         /// <summary>
    15         /// 生成随机数字(有线程睡眠时间)
    16         /// </summary>
    17         /// <param name="length">生成随机数的长度</param>
    18         /// <param name="sleep">是否要在生成前将当前线程阻止以避免重复</param>
    19         /// <param name="millisecondsTimeout">线程睡眠时间</param>
    20         /// <returns></returns>
    21         public static string Number(int length, bool sleep, int millisecondsTimeout = 3)
    22         {
    23             if (sleep)
    24             {
    25                 System.Threading.Thread.Sleep(millisecondsTimeout);
    26             }
    27             string result = "";
    28             System.Random random = new Random();
    29             for (int i = 0; i < length; i++)
    30             {
    31                 result += random.Next(10).ToString();
    32             }
    33             return result;
    34         }
    35         #endregion
    36 
    37         #region 生成随机字母字符串(数字字母混和)
    38         /// <summary>
    39         /// 生成随机字母字符串(数字字母混和)
    40         /// </summary>
    41         /// <param name="length">待生成的随机数位数</param>
    42         /// <returns></returns>
    43         public static string GetNumberCode(int length)
    44         {
    45             string str = string.Empty;
    46             int rep = 0;
    47             long num2 = DateTime.Now.Ticks + rep;
    48             rep++;
    49             Random random = new Random(((int)(((ulong)num2) & 0xffffffffL)) | ((int)(num2 >> rep)));
    50             for (int i = 0; i < length; i++)
    51             {
    52                 char ch;
    53                 int num = random.Next();
    54                 if ((num % 2) == 0)
    55                 {
    56                     ch = (char)(0x30 + ((ushort)(num % 10)));
    57                 }
    58                 else
    59                 {
    60                     ch = (char)(0x41 + ((ushort)(num % 0x1a)));
    61                 }
    62                 str = str + ch.ToString();
    63             }
    64             return str;
    65         }
    66         #endregion
  • 相关阅读:
    codesmith 模板
    asp.net 开发知识小结【转】
    一种页面数据错误输入提示方法 【转】
    vs2008 调试js
    安装vs2008出现的问题
    Godaddy主机导入MSSQL数据库教程
    asp.net用url重写URLReWriter实现任意二级域名(续)
    Visio2007 与Microsoft Studio 2008不兼容
    dos 必知八项命令
    Godaddy空间设置说明
  • 原文地址:https://www.cnblogs.com/linJie1930906722/p/5703977.html
Copyright © 2020-2023  润新知