zoukankan      html  css  js  c++  java
  • 随机数的生成方法

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

     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
  • 相关阅读:
    STM32|4-20mA输出电路
    Delphi版IP地址与整型互转
    侧方位停车
    98年的‘风暴’,08年的‘危机’,18年的“钱荒‘’
    一些软件设计的原则
    oracle-数据库的各种-锁-详解
    演员李艾佳去世突发病征年仅36岁
    【人生】王石:没变强是因为你太舒服
    耐心看的人早晚会成人上人
    Linux之make的用法讲解
  • 原文地址:https://www.cnblogs.com/linJie1930906722/p/5703977.html
Copyright © 2011-2022 走看看