C#自定义函数NetxtString生成随机字符串

 更新时间:2014年08月19日 16:42:33   投稿:shichen2014  
这篇文章主要介绍了C#自定义函数NetxtString生成随机字符串,是十分常见的重要功能,需要的朋友可以参考下

本文实例展示了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#学习能够有所帮助!

相关文章

  • WinForm中KeyDown,KeyPress和KeyUp的顺序与区别解析

    WinForm中KeyDown,KeyPress和KeyUp的顺序与区别解析

    这篇文章主要介绍了WinForm中KeyDown,KeyPress和KeyUp的顺序与区别解析,对C#初学者来说很有学习借鉴价值,需要的朋友可以参考下
    2014-08-08
  • C#实现仿QQ抽屉式窗体的设计方法

    C#实现仿QQ抽屉式窗体的设计方法

    QQ软件对于绝大多数的人来说再熟悉不过了,它以使用方便、界面美观及功能完善而著称,本文给大家介绍了C#实现仿QQ抽屉式窗体的设计方法,主要通过使用API函数WindowFromPoint和GetParent实现仿QQ的抽屉式窗体,需要的朋友可以参考下
    2024-04-04
  • C#获取U盘序列号的方法

    C#获取U盘序列号的方法

    这篇文章主要介绍了C#获取U盘序列号的方法,涉及C#针对硬件底层信息操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • C#实现图片分割方法与代码

    C#实现图片分割方法与代码

    C#实现图片分割方法与代码...
    2007-03-03
  • C#求点集的最小包围矩形

    C#求点集的最小包围矩形

    这篇文章主要为大家详细介绍了C#求点集的最小包围矩形,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • c#启动EXE文件的方法实例

    c#启动EXE文件的方法实例

    在程序执行中会遇到启动本软件的exe问,或者启用其它的exe文件,已达到执行某些操作的作用。下面是两种最常见的启动exe文件。
    2013-04-04
  • C# 向Word中设置/更改文本方向的方法(两种)

    C# 向Word中设置/更改文本方向的方法(两种)

    在一般情况下word中输入的文字都是横向的,今天小编给大家带来两种方法来设置更改文本方向的方法,非常不错,对c# word 更改文本方向的知识感兴趣的朋友一起看看吧
    2016-08-08
  • 常用类之TCP连接类-socket编程

    常用类之TCP连接类-socket编程

    常用类之TCP连接类-socket编程...
    2007-03-03
  • unity实现文字滚动效果

    unity实现文字滚动效果

    这篇文章主要为大家详细介绍了unity实现文字滚动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-02-02
  • C#获取程序文件相关信息的方法

    C#获取程序文件相关信息的方法

    这篇文章主要介绍了C#获取程序文件相关信息的方法,可实现获取程序版本号、版权声明、程序文本信息等,需要的朋友可以参考下
    2014-09-09

最新评论