如何生成一个被认为是唯一的ID

本文关键字:认为是 唯一 ID 一个 何生成 | 更新日期: 2023-09-27 18:01:02

我需要验证ID的唯一性。即使有一万亿分之一的机会被欺骗,我也不能使用它。

但我也不想去天涯海角寻找解决方案。我花了一些时间研究这个问题,到目前为止我所发现的一切都无法为我提供唯一的ID。

所以我想我会用一些非常简单的东西,比如:

    public static string GenerateItemID()
    {
        string year = DateTime.Now.Year.ToString(), 
            month = DateTime.Now.Month.ToString(), 
            day = DateTime.Now.Day.ToString(), 
            hour = DateTime.Now.Hour.ToString(), 
            minute = DateTime.Now.Minute.ToString(), 
            second = DateTime.Now.Second.ToString(), 
            millisecond = DateTime.Now.Millisecond.ToString();
        return year + month + day + hour + minute + second + millisecond;
    }

我的逻辑是:生成的每个新UI不可能与以前的任何UI相同。但后来我想知道,PC是否有可能在同一毫秒内生成两个或多个这样的ID?很自然,我在Intellisense中查找了Nanossecond属性,但它并不存在。

如何生成一个被认为是唯一的ID?

如何生成一个被认为是唯一的ID

var id = Guid.NewGuid(); 

我相信这将创建一个相当独特的id。

使用GUID。

请参阅此处:https://msdn.microsoft.com/en-us/library/system.guid.newguid(v=vs.110(.aspx

希望得到帮助。