C#利用时间和随即字符串创建唯一的订单编号

 更新时间:2016年03月28日 11:48:21   作者:Darren Ji  
本文介绍了利用时间和随机字符串组合生成唯一订单号的示例,从而保证订单号不会重复,希望能够对大家有所帮助。

使用RNGCryptoServiceProvider类创建唯一的最多8位数字符串,再在前面拼接上年月日时分秒产生的字符串,最大限度的保证生成的字符串是唯一的。

大家也可以根据自己的需求修改,日期可以取值到毫秒,这样更能保证生成的字符串是唯一的。

private static string GetUniqueKey()
{
  int maxSize = 8;
  int minSize = 5;
  char[] chars = new char[62];
  string a;
  a = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
  chars = a.ToCharArray();
  int size = maxSize;
  byte[] data = new byte[1];
  RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider();
  crypto.GetNonZeroBytes(data);
  size = maxSize;
  data = new byte[size];
  crypto.GetNonZeroBytes(data);
  StringBuilder result = new StringBuilder(size);
  foreach (byte b in data)
  {
    result.Append(chars[b % (chars.Length - 1)]);
  }
  return result.ToString();
}

然后调用方法,如下做了演示,每次产生的结果都不一样

for (int i = 0; i < 10; i++)
{
  string str = string.Format("{0}{1}", DateTime.Now.ToString("yyyyMMddHHmmss"), GetUniqueKey());
  Console.WriteLine(str);
}
Console.ReadKey();

相关文章

  • C#实现清除IE浏览器缓存的方法

    C#实现清除IE浏览器缓存的方法

    这篇文章主要介绍了C#实现清除IE浏览器缓存的方法,实例分析了C#针对浏览器缓存清理所涉及的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • C#串口连接的读取和发送详解

    C#串口连接的读取和发送详解

    这篇文章主要给大家介绍了关于C#串口连接的读取和发送的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • C#中Linq的去重方式Distinct详解

    C#中Linq的去重方式Distinct详解

    本文详细讲解了C#中Linq的去重方式Distinct,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Unity3D实现扭动挤压浏览效果

    Unity3D实现扭动挤压浏览效果

    这篇文章主要为大家详细介绍了Unity3D实现扭动挤压浏览效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • 浅析C# 中的类型系统(值类型和引用类型)

    浅析C# 中的类型系统(值类型和引用类型)

    这篇文章主要介绍了浅析C# 中的类型系统(值类型和引用类型),需要的朋友可以参考下
    2017-02-02
  • C# 基于NAudio实现对Wav音频文件剪切(限PCM格式)

    C# 基于NAudio实现对Wav音频文件剪切(限PCM格式)

    本文主要介绍了C#基于NAudio工具对Wav音频文件进行剪切,可以将一个音频文件剪切成多个音频文件(限PCM格式),感兴趣的小伙伴可以学习一下
    2021-11-11
  • C#自定义事件模拟风吹草摇摆效果

    C#自定义事件模拟风吹草摇摆效果

    这篇文章主要介绍了C#自定义事件模拟风吹草摇摆效果,草地上每一颗草都监听HoverTreeWindEvent事件,根据风向(WindDdirection)调整姿态。需要的朋友可以参考下
    2017-08-08
  • C#实现多线程编程的简单案例

    C#实现多线程编程的简单案例

    这篇文章介绍了C#实现多线程编程的简单案例,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • Unity Shader实现3D翻页效果

    Unity Shader实现3D翻页效果

    这篇文章主要为大家详细介绍了Unity Shader实现3D翻页效果,Plane实现翻页效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • 理解C#中参数的值和引用以及传递结构和类引用的区别

    理解C#中参数的值和引用以及传递结构和类引用的区别

    这篇文章主要介绍了理解C#中参数的值和引用以及传递结构和类引用的区别,文中举了两段代码例子来简单说明,需要的朋友可以参考下
    2016-01-01

最新评论