代码改变世界

C# 生成订单号(不重复)

2020-07-26 09:13  idea555  阅读(805)  评论(0)    收藏  举报

偶尔在网上看到的,相对比较好的c#端订单号生成规则

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class BillNumberBuilder{
    private static object locker = new object();
      
    private static int sn = 0;
      
    public static string NextBillNumber(){
        lock(locker){
            if(sn == 9999999999)
                sn = 0;
            else
                sn++;
            return DateTime.Now.ToString("yyyyMMddHHmmss") + sn.ToString().PadLeft(10, '0');
        }
    }
    // 防止创建类的实例
    private BillNumberBuilder(){}
}