gpt4 book ai didi

c# - 如何编写一个返回 6 个字符长度的唯一字符串的方法?

转载 作者:行者123 更新时间:2023-11-30 17:14:55 27 4
gpt4 key购买 nike

如果我这样做,我会得到一些重复的...

private const string _chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123654987";

public string RandomString(int size)
{
var random = new Random((int)DateTime.Now.Ticks);
Thread.Sleep(random.Next(1, 3));

var buffer = new char[size];

for (int i = 0; i < size; i++)
{
buffer[i] = _chars[random.Next(_chars.Length)];
}
return new string(buffer);
}

前100000个请求一定是唯一的我怎么保证基本...如果可能的话,我不想保留一个列表并查询它......

最佳答案

  • 找出小于 35^6(可能组合的数量)的最大素数。
  • 选择一个小于但大于 1 的随机数。
  • 取(你的素数 %(你的随机数 * 迭代索引))。这是您的字符串的基础。
  • 以 35 为基数表示结果,并创建您的字符串。

这些字符串不会重叠超过 100,000 次迭代,因为您的随机数与较大的数字互质。无需缓存。

您可以在记录字符串之前运行随机次数的迭代,从而为自己提供更大的结果空间。

关于c# - 如何编写一个返回 6 个字符长度的唯一字符串的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8329638/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com