我需要保证 ID 的唯一性。即使有 1 万亿分之一的机会被骗,我也不能使用它。
但我也不想走到天涯海角去寻找解决方案。我花了一些时间研究这个问题,迄今为止我发现的一切都无法为我提供一个唯一的 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;
}
Run Code Online (Sandbox Code Playgroud)
我的逻辑是:生成的每个新 UI 不可能与之前的任何 UI 相同。但后来我想知道 PC 是否有可能在同一毫秒内生成两个或多个这些 ID?当然,我随后在 Intellisense 中寻找纳秒属性,但它不存在。
怎样才能被一个ID garunteed是唯一的?