如何在不使用数据库的情况下生成int / long序列标识符?

时间:2011-05-09 05:56:29

标签: c# generator sequence

我想在C#中使用int / long类型生成序列标识符,但我不想使用数据库来存储生成的值,我该怎么做? CPU滴答计数器会有帮助吗?或者您有其他想法吗?

2 个答案:

答案 0 :(得分:0)

试试这个:

using Microsoft.Win32;


RegistryKey key = 
   Registry.LocalMachine.CreateSubKey ("The Right Value");

private void InitializeTheKey()
{

    this.MaxIndex = 0; // Or any other value ..

}


public Int32 MaxIndex 
{ 
   get{ return  key.GetValue("MaxIndex"); }
   set{  key.SetValue ("MaxIndex", value); } 
}

public Int32 GetNewIndex()
{

    this.MaxIndex += 1;
    return this.MaxIndex;

}
  

警告:请勿使用   注册表中。如果你不知道你是什么   正在做,你可以造成任何数量   昂贵的问题。在您的网站上使用此代码   自己承担风险。

答案 1 :(得分:0)

只要Int32没问题,只需使用rand:

Random rand = new Random();
int newID = rand.Next(0, Int32.MaxValue);

或者对于Int64,有人发布了您可以在此处使用的扩展程序:Generate random values in C#