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#实现的文件批量重命名功能示例

    C#实现的文件批量重命名功能示例

    这篇文章主要介绍了C#实现的文件批量重命名功能,结合具体实例形式分析了C#针对文件的遍历、属性修改相关操作技巧,需要的朋友可以参考下
    2017-07-07
  • C#集合之列表的用法

    C#集合之列表的用法

    这篇文章介绍了C#集合之列表的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • 完成OSS.Http底层HttpClient重构封装 支持标准库

    完成OSS.Http底层HttpClient重构封装 支持标准库

    OSS.Http项目对于.Net Standard标准库的支持已经迁移完毕,OSS开源系列两个最底层的类库已经具备跨运行时支持的能力。本篇文章主要包含 1. HttpClient的介绍,2. 重构的思路, 3. 容易遇到的问题。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • C#实现图片切割的方法

    C#实现图片切割的方法

    这篇文章主要介绍了C#实现图片切割的方法,涉及C#使用Graphics实现图片属性的相关设置、保存等操作技巧,需要的朋友可以参考下
    2017-06-06
  • C# 一个WCF简单实例

    C# 一个WCF简单实例

    以订票为例简单应用wcf程序,需要的朋友可以参考下
    2012-10-10
  • UGUI轮播图组件实现方法详解

    UGUI轮播图组件实现方法详解

    这篇文章主要为大家详细介绍了UGUI轮播图组件的实现方法,支持自动轮播、手势切换等功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • C#使用doggleReport生成pdf报表的方法

    C#使用doggleReport生成pdf报表的方法

    这篇文章主要介绍了C#使用doggleReport生成pdf报表的方法,结合实例形式分析了C# doggleReport安装及使用具体操作技巧,需要的朋友可以参考下
    2017-06-06
  • C#实现定时任务Task Scheduler的示例代码

    C#实现定时任务Task Scheduler的示例代码

    这篇文章主要为大家详细介绍了C#实现定时任务Task Scheduler的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-02-02
  • Unity3D使用Shader实现腐蚀消失

    Unity3D使用Shader实现腐蚀消失

    这篇文章主要为大家详细介绍了Unity3D使用Shader实现腐蚀消失,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • C#设计模式之Facade外观模式解决天河城购物问题示例

    C#设计模式之Facade外观模式解决天河城购物问题示例

    这篇文章主要介绍了C#设计模式之Facade外观模式解决天河城购物问题,简单描述了外观模式的定义并结合具体实例分析了外观模式解决购物问题的相关步骤与操作技巧,需要的朋友可以参考下
    2017-09-09

最新评论