zoukankan      html  css  js  c++  java
  • C#生成随机字符串(数字,字母,特殊符号)

      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Text;
      5 using System.Threading.Tasks;
      6 
      7 namespace ConsoleApplication1
      8 {
      9     class Program
     10     {
     11         static void Main(string[] args)
     12         {
     13             //int number;
     14             //int count = 7;
     15             //string checkCode = String.Empty;     //存放随机码的字符串   
     16 
     17             //System.Random random = new Random();
     18 
     19             //for (int i = 0; i < count; i++) //产生7位校验码   
     20             //{
     21             //    number = random.Next();
     22             //    number = number % 36;
     23             //    if (number < 10)
     24             //    {
     25             //        number += 48;    //数字0-9编码在48-57   
     26             //    }
     27             //    else
     28             //    {
     29             //        number += 55;    //字母A-Z编码在65-90   
     30             //    }
     31 
     32             //    checkCode += ((char)number).ToString();
     33             //}
     34             //Console.WriteLine(checkCode);
     35             Program p = new Program();
     36             bool booNumber = true;
     37             bool booSign = true;
     38             bool booSmallword = true;
     39             bool booBigword = true;
     40             //p.getRandomizer(7, booNumber, booSign, booSmallword, booBigword);
     41             Console.WriteLine(p.getRandomizer(7, booNumber, booSign, booSmallword, booBigword));
     42             Console.ReadLine();
     43         }
     44         public string getRandomizer(int intLength, bool booNumber, bool booSign, bool booSmallword, bool booBigword)
     45         {
     46             //定义
     47             Random ranA = new Random();
     48             int intResultRound = 0;
     49             int intA = 0;
     50             string strB = "";
     51             while (intResultRound < intLength)
     52             {
     53                 //生成随机数A,表示生成类型
     54                 //1=数字,2=符号,3=小写字母,4=大写字母
     55                 intA = ranA.Next(1, 5);
     56                 //如果随机数A=1,则运行生成数字
     57                 //生成随机数A,范围在0-10
     58                 //把随机数A,转成字符
     59                 //生成完,位数+1,字符串累加,结束本次循环
     60                 if (intA == 1 && booNumber)
     61                 {
     62                     intA = ranA.Next(0, 10);
     63                     strB = intA.ToString() + strB;
     64                     intResultRound = intResultRound + 1;
     65                     continue;
     66                 }
     67                 //如果随机数A=2,则运行生成符号
     68                 //生成随机数A,表示生成值域
     69                 //1:33-47值域,2:58-64值域,3:91-96值域,4:123-126值域
     70                 if (intA == 2 && booSign == true)
     71                 {
     72                     intA = ranA.Next(1, 5);
     73                     //如果A=1
     74                     //生成随机数A,33-47的Ascii码
     75                     //把随机数A,转成字符
     76                     //生成完,位数+1,字符串累加,结束本次循环
     77                     if (intA == 1)
     78                     {
     79                         intA = ranA.Next(33, 48);
     80                         strB = ((char)intA).ToString() + strB;
     81                         intResultRound = intResultRound + 1;
     82                         continue;
     83                     }
     84 
     85                     //如果A=2
     86                     //生成随机数A,58-64的Ascii码
     87                     //把随机数A,转成字符
     88                     //生成完,位数+1,字符串累加,结束本次循环
     89                     if (intA == 2)
     90                     {
     91                         intA = ranA.Next(58, 65);
     92                         strB = ((char)intA).ToString() + strB;
     93                         intResultRound = intResultRound + 1;
     94                         continue;
     95                     }
     96 
     97                     //如果A=3
     98                     //生成随机数A,91-96的Ascii码
     99                     //把随机数A,转成字符
    100                     //生成完,位数+1,字符串累加,结束本次循环
    101                     if (intA == 3)
    102                     {
    103                         intA = ranA.Next(91, 97);
    104                         strB = ((char)intA).ToString() + strB;
    105                         intResultRound = intResultRound + 1;
    106                         continue;
    107                     }
    108 
    109                     //如果A=4
    110                     //生成随机数A,123-126的Ascii码
    111                     //把随机数A,转成字符
    112                     //生成完,位数+1,字符串累加,结束本次循环
    113                     if (intA == 4)
    114                     {
    115                         intA = ranA.Next(123, 127);
    116                         strB = ((char)intA).ToString() + strB;
    117                         intResultRound = intResultRound + 1;
    118                         continue;
    119                     }
    120                 }
    121 
    122                 //如果随机数A=3,则运行生成小写字母
    123                 //生成随机数A,范围在97-122
    124                 //把随机数A,转成字符
    125                 //生成完,位数+1,字符串累加,结束本次循环
    126                 if (intA == 3 && booSmallword == true)
    127                 {
    128                     intA = ranA.Next(97, 123);
    129                     strB = ((char)intA).ToString() + strB;
    130                     intResultRound = intResultRound + 1;
    131                     continue;
    132                 }
    133 
    134                 //如果随机数A=4,则运行生成大写字母
    135                 //生成随机数A,范围在65-90
    136                 //把随机数A,转成字符
    137                 //生成完,位数+1,字符串累加,结束本次循环
    138                 if (intA == 4 && booBigword == true)
    139                 {
    140                     intA = ranA.Next(65, 89);
    141                     strB = ((char)intA).ToString() + strB;
    142                     intResultRound = intResultRound + 1;
    143                     continue;
    144                 }
    145             }
    146             return strB;
    147         }
    148     }
    149 }
    View Code
  • 相关阅读:
    iOS 整理面试题(上)
    2021年十大白马名单
    RabbitMQ:消息重复消费
    RabbitMQ:保证消息的顺序性
    RabbitMQ:保证消息的可靠性传输
    AWS S3 大文件分片上传
    rebase 用法小结
    Flask at scale
    MySQL分区
    动态规划示例题
  • 原文地址:https://www.cnblogs.com/hanazawalove/p/6049790.html
Copyright © 2011-2022 走看看