C# 生成订单号的几种方式
2017-02-15 15:48
465 查看
1 public class RandomNumber 2 { 3 public static object _lock = new object(); 4 public static int count = 1; 5 6 public string GetRandom1() 7 { 8 lock(_lock) 9 { 10 if(count >= 10000) 11 { 12 count = 1; 13 } 14 var number = "P" + DateTime.Now.ToString("yyMMddHHmmss") + count.ToString("0000"); 15 count++; 16 return number; 17 } 18 } 19 20 21 public string GetRandom2() 22 { 23 lock(_lock) 24 { 25 return "T" + DateTime.Now.Ticks; 26 27 } 28 } 29 30 public string GetRandom3() 31 { 32 lock(_lock) 33 { 34 Random ran = new Random(); 35 return "U" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ran.Next(1000, 9999).ToString(); 36 } 37 } 38 }
调用:
Response.Write("Number1:"+new RandomNumber().GetRandom1()); Response.Write("Number2:" + new RandomNumber().GetRandom2()); Response.Write("Number3:" + new RandomNumber().GetRandom3());
结果:
Number1:P1608171449140001
Number2:T636070421545568764
Number3:U201608171449145562080
相关文章推荐
- C#中internal与protected,private等修饰的联系与区别
- C# 反射 名称不区分大小写
- c#里BindingFlags 筛选标志
- C# WPF DataGrid 分组(Group)
- C#泛型详解
- C# Mongo Client 2.4.2判断是否存在表
- c# webbrowser控件内核版本强制修改
- 一致性Hash算法(KetamaHash)的c#实现
- C#--Switch Case语句的返回
- C#--Switch Case语句的返回
- c# windows 服务 定时器 每天凌晨0点整执行任务
- c#调试windows服务程序
- C#存储过程 传入参数 传出参数 结果集
- C#知识点
- 详谈C# 图片与byte[]之间以及byte[]与string之间的转换
- 浅谈c#表达式树Expression简单类型比较demo
- c# 获得方法的所属类(或调用者)的类名,方法名
- SmartRoute之远程接口调用和负载
- look look C#7
- C# 用反射动态绑定事件