我正在寻找一种方法来生成(相当)唯一(非自动递增)4位数字符串,使用C#为每个数字使用数字0 - 9.如果找到dup,我可以验证唯一性并生成另一个数字.我曾想过以某种方式将数字基于DateTime对象的Ticks属性,但我很难将各个部分组合在一起.
任何想法或专业知识将不胜感激.
如果它不增加自己,第二次如何变得独一无二?
您是说要从所有可能未使用的4位数字符串的集合中生成随机的4位数字符串?
如果是这样,通常的方法是生成所有可能的4位数字符串,并将它们随机排列.然后在需要新的时候按顺序取出它们.
澄清: 其他答案建议只生成一个随机的4位数字符串并将其留在那里.据推测,你会检查它是否已被使用,如果使用它,则生成另一个.这可能具有非常不理想的性能.假设您已经使用了9,999(除了一个)可能的4位数字符串,范围从0000到9999.要生成最后一个,此方法可能需要多次尝试.