【发布时间】:2011-04-15 14:23:36
【问题描述】:
我尝试在我们的 C# 应用程序(不是全局的,仅用于一个会话)中为我们的事件使用 long 作为唯一 ID。不知道下面会不会生成一个唯一的long id?
public long GenerateId()
{
byte[] buffer = Guid.NewGuid().ToByteArray();
return BitConverter.ToInt64(buffer, 0);
}
为什么我们不直接使用 GUID?我们认为 8 字节长就足够了。
【问题讨论】:
-
不,这只会生成一个随机的
Int64值。请定义:Unique。哪个范围需要唯一? -
如果您的问题是“我如何在 .NET 中生成随机长整数 (Int64)”,尽管我认为不是,但这里有一个重复的问题,里面有很多很好的答案:stackoverflow.com/questions/677373/generate-random-values-in-c