zoukankan      html  css  js  c++  java
  • 订单号生成规则,谁用谁知道

     1 class Program
     2     {
     3         //订单号数据源,实际项目中,这里是从数据库中读取过来的
     4         string[] strList = { "201512000001", "201512000002", "201512000003", "201512000004", 
     5                              "201512000008", "201512000007", "201512000006", "201512000005", 
     6                              "201512000009", "201512000010", "201512000011", "201512000012",
     7                              "201512000013","201512000014","201512000015" };        
     8         static void Main(string[] args)
     9         {
    10             Program p = new Program();
    11             Console.WriteLine(p.GetOrderNum());
    12             Console.ReadKey();
    13         }
    14 
    15         public string GetOrderNum()
    16         {
    17             string result = "";            
    18             string YearMonth = DateTime.Now.ToString("yyyyMM");
    19             var count = Count(YearMonth);//201512  5
    20             result = YearMonth + "0000001";
    21             var dd = count.ToString().Length;
    22             switch (dd)
    23             {
    24                 case 1:
    25                     result = YearMonth + "00000" + (count + 1);
    26                     break;
    27                 case 2:
    28                     result = YearMonth + "0000" + (count + 1);
    29                     break;
    30                 case 3:
    31                     result = YearMonth + "000" + (count + 1);
    32                     break;
    33                 case 4:
    34                     result = YearMonth + "00" + (count + 1);
    35                     break;
    36                 case 5:
    37                     result = YearMonth + "0" + (count + 1);
    38                     break;
    39                 default:
    40                     result = YearMonth + (count + 1);
    41                     break;
    42             }
    43             return result;
    44         }
    45         
    46         public int Count(string yearMonth) {
    47             int result = 0;
    48             result = strList.Count(item=>item.Contains(yearMonth));
    49             return result;
    50         }       
    51     }

    用string.PadLeft(n,'0')补零写出来的代码要比上面if的要好看很多,多谢园友提醒,最终代码请看下面

    public string GetOrderNum2()
    {
    string result = "";
    string YearMonth = DateTime.Now.ToString("yyyyMM");
    var count = Count(YearMonth);//201512 5 
    result= YearMonth+(count + 1).ToString().PadLeft(6,'0');
    return result;
    }
    

      

    谁有更好的生成规则,不妨一起讨论下

  • 相关阅读:
    ios des加密
    testng-注解之@BeforeGroups、@AfterGroups +分组测试
    testng -忽略测试
    testng -注解之@BeforeSuite、@AfterSuite
    jmeter创建测试计划,执行post请求
    jmeter进行压力测试
    jmeter在mac电脑上安装使用
    java -获取变量类型
    java中枚举类enum
    java的日期与时间,Date ,SImpleDateFormat(), Calendar
  • 原文地址:https://www.cnblogs.com/axinno1/p/5025268.html
Copyright © 2011-2022 走看看