我有一个 C# 脚本,它从 20 位长的随机 BigInteger 中提取 5 位数字。然后将其转换为 0 到 99,999 之间的 int 值。我想使用这个数字来确定使用一组 113 个字符串的字符的名称。我无法弄清楚这一点的原因是因为我不希望 113 个字符串中的每一个都有相同的机会被选中,所以我不能只使用模运算符来获取集合的索引字符串。我希望映射不统一,以便某些名称比其他名称更稀有。例如,类似:
if(val <= 1000)
{
name = names[0];
}
if(val > 1000 && val <= 1250)
{
name = names[1];
}
if(val > 1250 && val <= 1750)
{
name = names[2];
}
有没有办法以有效的方式映射这样的非均匀范围,而无需明确输入 113 个不同的范围?