.NET(C#)生成指定长度的随机字符串的通用方法,此方法可以指定字符串的长度,是否包含数字,是否包含符号,是否包含小写字母,是否包含大写字母等,

源码:

  1. #region 生成指定长度的随机字符串
  2. /// <summary>
  3. /// 生成指定长度的随机字符串
  4. /// </summary>
  5. /// <param name="intLength">随机字符串长度</param>
  6. /// <param name="booNumber">生成的字符串中是否包含数字</param>
  7. /// <param name="booSign">生成的字符串中是否包含符号</param>
  8. /// <param name="booSmallword">生成的字符串中是否包含小写字母</param>
  9. /// <param name="booBigword">生成的字符串中是否包含大写字母</param>
  10. /// <returns></returns>
  11. public string GetRandomizer(int intLength, bool booNumber, bool booSign, bool booSmallword, bool booBigword)
  12. {
  13. //定义
  14. Random ranA = new Random();
  15. int intResultRound = ;
  16. int intA = ;
  17. string strB = "";
  18.  
  19. while (intResultRound < intLength)
  20. {
  21. //生成随机数A,表示生成类型
  22. //1=数字,2=符号,3=小写字母,4=大写字母
  23.  
  24. intA = ranA.Next(, );
  25.  
  26. //如果随机数A=1,则运行生成数字
  27. //生成随机数A,范围在0-10
  28. //把随机数A,转成字符
  29. //生成完,位数+1,字符串累加,结束本次循环
  30.  
  31. if (intA == && booNumber)
  32. {
  33. intA = ranA.Next(, );
  34. strB = intA.ToString() + strB;
  35. intResultRound = intResultRound + ;
  36. continue;
  37. }
  38.  
  39. //如果随机数A=2,则运行生成符号
  40. //生成随机数A,表示生成值域
  41. //1:33-47值域,2:58-64值域,3:91-96值域,4:123-126值域
  42.  
  43. if (intA == && booSign == true)
  44. {
  45. intA = ranA.Next(, );
  46.  
  47. //如果A=1
  48. //生成随机数A,33-47的Ascii码
  49. //把随机数A,转成字符
  50. //生成完,位数+1,字符串累加,结束本次循环
  51.  
  52. if (intA == )
  53. {
  54. intA = ranA.Next(, );
  55. strB = ((char)intA).ToString() + strB;
  56. intResultRound = intResultRound + ;
  57. continue;
  58. }
  59.  
  60. //如果A=2
  61. //生成随机数A,58-64的Ascii码
  62. //把随机数A,转成字符
  63. //生成完,位数+1,字符串累加,结束本次循环
  64.  
  65. if (intA == )
  66. {
  67. intA = ranA.Next(, );
  68. strB = ((char)intA).ToString() + strB;
  69. intResultRound = intResultRound + ;
  70. continue;
  71. }
  72.  
  73. //如果A=3
  74. //生成随机数A,91-96的Ascii码
  75. //把随机数A,转成字符
  76. //生成完,位数+1,字符串累加,结束本次循环
  77.  
  78. if (intA == )
  79. {
  80. intA = ranA.Next(, );
  81. strB = ((char)intA).ToString() + strB;
  82. intResultRound = intResultRound + ;
  83. continue;
  84. }
  85.  
  86. //如果A=4
  87. //生成随机数A,123-126的Ascii码
  88. //把随机数A,转成字符
  89. //生成完,位数+1,字符串累加,结束本次循环
  90.  
  91. if (intA == )
  92. {
  93. intA = ranA.Next(, );
  94. strB = ((char)intA).ToString() + strB;
  95. intResultRound = intResultRound + ;
  96. continue;
  97. }
  98.  
  99. }
  100.  
  101. //如果随机数A=3,则运行生成小写字母
  102. //生成随机数A,范围在97-122
  103. //把随机数A,转成字符
  104. //生成完,位数+1,字符串累加,结束本次循环
  105.  
  106. if (intA == && booSmallword == true)
  107. {
  108. intA = ranA.Next(, );
  109. strB = ((char)intA).ToString() + strB;
  110. intResultRound = intResultRound + ;
  111. continue;
  112. }
  113.  
  114. //如果随机数A=4,则运行生成大写字母
  115. //生成随机数A,范围在65-90
  116. //把随机数A,转成字符
  117. //生成完,位数+1,字符串累加,结束本次循环
  118.  
  119. if (intA == && booBigword == true)
  120. {
  121. intA = ranA.Next(, );
  122. strB = ((char)intA).ToString() + strB;
  123. intResultRound = intResultRound + ;
  124. continue;
  125. }
  126. }
  127. return strB;
  128.  
  129. }
  130. #endregion

读取数据:

  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3. foreach (var file in Directory.GetFiles("E:\\renew", "*.txt").Where(t => t.ToLower().EndsWith(".txt")).ToList())
  4. {
  5. using (StreamReader reader = new StreamReader(file, Encoding.UTF8))
  6. {
  7. string strLine = string.Empty;
  8. while ((strLine = reader.ReadLine()) != null)
  9. {
  10. renewModel.Content = strLine;
  11. renewBLL.Add(renewModel);
  12. }
  13. }
  14. }
  15. }

写入数据:

  1. private void button2_Click(object sender, EventArgs e)
  2. {
  3. StreamWriter sw = new StreamWriter(@"E:\test.txt", true, Encoding.UTF8);
  4. List<string> list = new List<string>();
  5. while ( == )
  6. {
  7. string str = "CCKD";
  8. str += GetRandomizer(, true, false, false, true);
  9. if (!list.Contains(str))
  10. {
  11. list.Add(str);
  12. sw.WriteLine(str);
  13. sw.Flush();
  14. }
  15. if (list.Count== )
  16. break;
  17. }
  18. sw.Close();
  19. }

(C#)生成指定长度的随机字符串的通用方法的更多相关文章

  1. commons-text 生成指定长度的随机字符串

    package com.skylink.junge.demo; import java.util.HashSet; import java.util.Set; import org.apache.co ...

  2. Java生成固定长度的随机字符串(以大小写字母和数字)

    package org.jimmy.autosearch2019.test; import java.util.ArrayList; import java.util.Random; /** * @a ...

  3. js 格式化时间、字符串指定长度、随机字符串

    格式化字符串长度 方法 function formatWidth(str, width){ str += '' if(str.length<width) '+str, width) else r ...

  4. Python--随机生成指定长度的密码

    在浏览别人博客时学习了random模块,手痒自我练习下,写个随机生成指定长度的密码字符串的函数,拿出来供各位参考: 废话不多说,上代码: # coding: utf-8 import random i ...

  5. 随机生成指定长度字符字符串(C语言实现)

    相关函数 srand(), rand()头文件#include<stdlib.h> 定义函数 int rand(void) 函数说明 rand()会返回一随机数值,范围在0至RAND_MA ...

  6. 随机生成指定长度的密码之---Random

    随机生成指定长度的密码思路: 1.密码中可能包含字母,数字,特殊符号,为了区别分别定义常量 2.随机生成密码,自然想到要用到java.util.Random 类 3.定义一个带两个参数的方法,1跟2, ...

  7. JS生成指定长度的随机数

    /** * 生成指定长度的UUID * @param len * @param radix * @returns uuid * eg: createUUID(8, 2) "01001010& ...

  8. javascript生成指定范围的随机整数

    JavaScript有提供一个生成值区间在(0, 1)的随机小数的函数. Math.random(); // 0.10529863457509858 如果你和喜欢的人一起执行这个函数,之后生成的随机小 ...

  9. shell生成指定长度的随机数

    生成指定长度是随机数 # 8位纯数字的随机数 tr -cd '0-9' </dev/urandom | head -c 8 # 16位包含字母.数字的随机数 tr -cd '[:alnum:]' ...

随机推荐

  1. mysql5.7通过json类型替代关联表

    学校表: 1 create table school( 2 `id` bigint unsigned primary key not null auto_increment, 3 `name` var ...

  2. mssql server 数据库帮助类

    using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Web ...

  3. MAC Homebrew安装和简单使用

    前言: 这个周六日在刚刚买的macbookpro(系统版本是:10.13.5)上面安装angular,一开始是按照windows上的顺序安装的,先安装node.js,然后在安装angular的时候报错 ...

  4. Github远程仓库提交代码步骤

    1.克隆远程仓库     1)当没有设置默认目录时         git clone 仓库地址 本地存放目录 //没有目录的情况    2)当设置了本地存放目录时         先打开路径,命令: ...

  5. element UI 下拉菜单滚动监听(vue指令)

    直接看代码吧,可以直接粘贴此代码到你的编辑器中看效果. <template> <div class="page-component"> <div cl ...

  6. Java 8 Lambda 表达式(二)

    lambdas 实现 Runnable 接口 下面是使用 lambdas 来实现 Runnable 接口的示例: // 1.1使用匿名内部类 new Thread(new Runnable() { @ ...

  7. Linux恢复误删除的文件或者目录(转)

    linux不像windows有个回收站,使用rm -rf *基本上文件是找不回来的. 那么问题来了: 对于linux下误删的文件,我们是否真的无法通过软件进行恢复呢? 答案当然是否定的,对于误删的文件 ...

  8. 2018 ICPC南京网络赛 L Magical Girl Haze 题解

    大致题意: 给定一个n个点m条边的图,在可以把路径上至多k条边的权值变为0的情况下,求S到T的最短路. 数据规模: N≤100000,M≤200000,K≤10 建一个立体的图,有k层,每一层是一份原 ...

  9. Debug程序的使用

    一.什么是Debug程序: Debug是DOS, Windows(但是Win7 64位没有,8 10不清楚.)都提供的实模式程序的调试工具, 使用它,可以查看CPU各种寄存器中的内容,内存的情况和在机 ...

  10. VirtualBox安装Archlinux并配置桌面环境

    最近无聊,就找来archlinux来玩一玩,去archlinux wiki上看了一下教程.以下是操作过程. 1. 下载镜像,下载地址; 2. 启动archlinux并选择Boot Arch Linux ...