C#端一個不錯的訂單號生成規則


/// <summary>
    /// 訂單助手
    /// </summary>
    public class OrderHelper
    {
        /// <summary>
        ///  防止創建類的實例
        /// </summary>
        private OrderHelper() { }

        private static readonly object Locker = new object();
        private static int _sn = 0;

        /// <summary>
        /// 生成訂單編號
        /// </summary>
        /// <returns></returns>
        public static string GenerateId()
        {
            lock (Locker)   //lock 關鍵字可確保當一個線程位於代碼的臨界區時,另一個線程不會進入該臨界區。
            {
                if (_sn == int.MaxValue)
                {
                    _sn = 0;
                }
                else
                {
                    _sn++;
                }
                
                Thread.Sleep(100);

                return "Wen" + DateTime.Now.ToString("yyyyMMddHHmmss")+ _sn.ToString().PadLeft(10, '0');
            }
        } 
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM