/// <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'); } } }