C# - 高效的随机字符串/ int生成器

时间:2013-03-04 13:05:38

标签: c# algorithm random

我正在寻找高效的随机发生器。我更喜欢成为字符串/ int生成器,即使它并不重要。我需要复制图像并将其名称保存在数据库中。因为我从数据库中提取名称所以不需要有一些有意义的名称,但是因为我需要在目录中复制图像,所以我必须为我的图像名称选择唯一的名称。因为每次检查都是对数据库的新查询,所以我需要一些有效的随机生成器,以便在获取唯一名称之前我需要最少数量的查询。我知道有很多算法,但快速搜索并没有帮助我找到一个。我不想要一些过度杀戮的东西,毕竟我不加密任何我只需要唯一名称的东西,但是当图像数量变大时我仍然不希望生成新的唯一名称很多时间。

3 个答案:

答案 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

相关问题