我正在寻找高效的随机发生器。我更喜欢成为字符串/ int生成器,即使它并不重要。我需要复制图像并将其名称保存在数据库中。因为我从数据库中提取名称所以不需要有一些有意义的名称,但是因为我需要在目录中复制图像,所以我必须为我的图像名称选择唯一的名称。因为每次检查都是对数据库的新查询,所以我需要一些有效的随机生成器,以便在获取唯一名称之前我需要最少数量的查询。我知道有很多算法,但快速搜索并没有帮助我找到一个。我不想要一些过度杀戮的东西,毕竟我不加密任何我只需要唯一名称的东西,但是当图像数量变大时我仍然不希望生成新的唯一名称很多时间。
答案 0 :(得分:6)
尝试
string uniqueName = Guid.NewGuid().ToString("N");
答案 1 :(得分:0)
除了Matthew's answer之外,您还可以尝试:
string uniqueName = System.DateTime.Now.Ticks.ToString();
由于Ticks
总是增长,因此您拥有唯一的值,至少在一个过程中执行此操作。
当查找整数而不是字符串时,它当然是:
long uniqueValue = System.DateTime.Now.Ticks;
答案 2 :(得分:-1)
对于真正的随机生成器,请使用RNGCryptoServiceProvider。 看一下这个例子:Random Number Generation