在LINQ我知道,自動編號生成是:
ID = Guid.NewGuid().ToString();
但我要救我的ID爲YYMMDD + 4位數字。
例如:2015/2/12「1502120001」~[1502129999」
如何插入YYMMDD + 4位數字的ID
0
A
回答
0
Random random = new Random();
string ID = DateTime.Today.ToString("yyMMdd") + random.Next(1, 9999).ToString().PadLeft(4, '0');
當然與ID生成這樣,你就必須檢查,如果與ID的項目生成一個新的ID後已經存在,直到找到一個生成一個新的獨一無二的。你也只能創建9999個唯一的ID,所以更好的確保這符合你的需求。
我想你會更好的簡單使用Guids。
1
這個問題還不清楚。請澄清您的問題並添加更多詳細信息和上下文代碼。 你在哪裏需要這些ID?你會將它們保存到數據庫嗎?如果您在一天內要求超過9999次ID,會發生什麼情況?如果應用程序重新啓動會發生什麼?
這裏是一個非常簡單的實現:
public static class IdGenerator
{
private static int lastId = 0;
private static DateTime lastDate = DateTime.Now;
public static string NewId()
{
// If last used date is different than today or last id is 9999 restart the counter.
if (lastDate.Date != DateTime.Now.Date || lastId == 9999)
lastId = 0;
lastDate = DateTime.Now;
return string.Format("{0:yyMMdd}{1:0000}", lastDate, ++lastId);
}
}
// Usage
IdGenerator.NewId()
注意,此類不保證唯一的ID,如果你要求在一天ID超過9999次,或者如果應用程序重新啓動。您應該爲上次使用的ID和上次使用的日期(不是靜態成員)使用一些持久性存儲。
相關問題
- 1. 如何插入數字到4字節
- 2. 如何插入字母「N」,後跟4位數字。該4位是由用戶在文本框輸入
- 3. 如何防止輸入負數或4位以上的數字
- 4. 只有最後4位數字插入db
- 5. 如何在MySQL中獲取最後4個插入的ID
- 6. 如何插入數據導軌4
- 7. 4位數字的計算
- 8. 如何將數據插入位數據類型的字段?
- 9. 如何插入數據Elasticsearch沒有ID
- 10. 如何使用4位數字
- 11. 如何打印4位數字?
- 12. 根據三列引入4位數字
- 13. 如何使用4位數字驗證輸入
- 14. 如何將數字作爲4位元素寫入文件?
- 15. 插入數字作爲文件夾ID
- 16. c + +插入1個字母中的第4位怎麼辦呢
- 17. 如何創建觸發器以將值插入到插入的最大([ID字段])+ 1的ID字段中
- 18. JPA Postgres插入位(4),默認值爲
- 19. TinyMCE 4 - 獲取插入位置
- 20. 如何在MySQL數據庫中插入4個字節的unicode字符?
- 21. 我如何插入數組的ID到數據庫的單個字段
- 22. 如何只將文本框條目的最後4位數字插入到數據庫中?
- 23. 從1至4位數字
- 24. Swift文本字段(IOS,Xcode 7.3,Swift 2):4位數字的用戶密鑰。如何將輸入限制爲數字並將數字位數限制爲4
- 25. 使用Oracle SQL插入增加數字ID(例如rownum)的行?
- 26. 如何獲取插入記錄的ID?
- 27. 如何獲取最後插入的ID?
- 28. 如何獲取插入ID的列表?
- 29. 如何獲取插入行的ID(新)
- 30. 如何退出上次插入的ID?