C#自定义函数NetxtString生成随机字符串
作者:shichen2014 发布时间:2022-06-18 20:43:39
标签:C#,随机,字符串
本文实例展示了C#自定义函数NetxtString实现生成随机字符串的方法,在进行C#项目开发中非常实用!分享给大家供大家参考。
一、生成随机字符串
关键代码如下:
/// <summary>
/// 生成随机字符串
/// </summary>
/// <param name="random">Random</param>
/// <param name="size">字符串长度</param>
/// <param name="lowerCase">字符串是小写</param>
/// <returns>随机字符串</returns>
public static string NetxtString(this Random random, int size, bool lowerCase)
{
StringBuilder _builder = new StringBuilder(size);
int _startChar = lowerCase ? 97 : 65;//65 = A / 97 = a
for (int i = 0; i < size; i++)
_builder.Append((char)(26 * random.NextDouble() + _startChar));
return _builder.ToString();
}
测试代码如下:
static void Main(string[] args)
{
try
{
Random _random = new Random();
for (int i = 0; i < 10; i++)
{
Console.WriteLine(_random.NetxtString(4, false));
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
Console.ReadLine();
}
}
测试结果如下图所示:
二、根据指定字符生成随机字符串
关键代码如下:
/// <summary>
/// 0~9 A~Z字符串
/// </summary>
public static string RandomString_09AZ = "0123456789ABCDEFGHIJKMLNOPQRSTUVWXYZ";
/// <summary>
/// 依据指定字符串来生成随机字符串
/// </summary>
/// <param name="random">Random</param>
/// <param name="randomString">指定字符串</param>
/// <param name="size">字符串长度</param>
/// <param name="lowerCase">字符串是小写</param>
/// <returns>随机字符串</returns>
public static string NetxtString(this Random random, string randomString, int size, bool lowerCase)
{
string _nextString = string.Empty;
if (random != null && !string.IsNullOrEmpty(randomString))
{
StringBuilder _builder = new StringBuilder(size);
int _maxCount = randomString.Length - 1;
for (int i = 0; i < size; i++)
{
int _number = random.Next(0, _maxCount);
_builder.Append(randomString[_number]);
}
_nextString = _builder.ToString();
}
return lowerCase ? _nextString.ToLower() : _nextString.ToUpper();
}
测试代码如下:
static void Main(string[] args)
{
try
{
Random _random = new Random();
string _ramdomString = RandomToolV2.RandomString_09AZ;
for (int i = 0; i < 20; i++)
{
// Console.WriteLine(_random.NetxtString(4, false));
Console.WriteLine(_random.NetxtString(_ramdomString, 4, false));
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
Console.ReadLine();
}
}
代码运行效果如下图所示:
希望本文所述实例对大家的C#学习能够有所帮助!


猜你喜欢
- 1、什么是servlet异步请求Servlet 3.0 之前,一个普通 Servlet 的主要工作流程大致如下:(1)、Servlet 接收
- 最近做一个C#项目,需要对radis进行读写。首先引入System.Configuration,如下实现代码如下:public class
- 本文实例讲述了C#实现动态生成静态页面的类。分享给大家供大家参考,具体如下:动态生成静态页面有许多好处,比如生成html网页有利于被搜索引擎
- 本文实例为大家分享了Unity实现俄罗斯方块第2部分,供大家参考,具体内容如下代码部分1. 实现物体自由降落(在有关于物体的脚本中编写)1)
- 在构造函数里加上以下代码:this.DoubleBuffered = true;//设置本窗体SetStyle(ControlStyles.
- 概述这里是Mac环境,如果是window环境的同学,在环境搭建和工具上可以选择Window环境的。先看看需要到的工具;1、apktool:h
- 在上篇文章给大家介绍了Mybatis中#{}和${}传参的区别及#和$的区别小结,如果大家有需要可以参考下。$和#简单说明:#相当于对数据
- 1.前言MyBatis框架大家肯定都用过的,废话我就不再多说了,这篇文章就给大家分享一下有关MyBatis框架底层的执行原理吧(Debug!
- 本文实例为大家分享了Unity3D撤回命令功能开发,供大家参考,具体内容如下在类似操作考核的项目中我们经常会遇到回到上一步的需求。所以我们有
- 本文实例讲述了java实现word文档转pdf并添加水印的方法。分享给大家供大家参考,具体如下:前段时间,项目需要自动生成word文档,用W
- 现在很多Android应用在首次安装完都会有指引如何使用该应用的某些功能的指引界面,这样会获得很好的用户体验,能够帮助用户更好使用应用的某些
- 准备过程:在电脑桌面 右键点击 “此电脑”的“属性”选项选择“高级系统设置”选项点击下面的“环境变量”选项配置过程:点击“系统变量”下面的”
- @ConditionalOnMissingBean,它是修饰bean的一个注解,主要实现的是,当你的bean被注册之后,如果而注册相同类型的
- 1.简述Handler消息机制主要包括: MessageQueue、 Handler、 Looper、Message。Message:需要传
- 前言下面大部分内容来源于网上的相关帖子和官网,自己简单写了个demo体验了下,个人感觉mybatis的缓存并不是很合适查询做缓存时,遇到更新
- Android 登录处理简单实例今天整理一下之前在项目中写的关于某些界面需要登录判断处理。这里整理了一个简易的 Demo 模拟一下 登录情况
- 在实际应用中,大家使用的密码可以说多种多样,但是无论有多少,其组成不遑是有可打印字符组成的,我们可以认为class CreateDic{ p
- 1.介绍有时候我们在Linux中运行Java程序时,需要调用一些Shell命令和脚本。而Runtime.getRuntime().exec(
- 一、概述UDP和TCP是网络通讯常用的两个传输协议,C#一般可以通过Socket来实现UDP和TCP通讯,由于.NET框架通过UdpClie
- springmvc下载中文文件名称为下划线springboot项目中,在下载文件的时候,通过封装ResponseEntity,将文件流写入b