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