【发布时间】:2011-07-14 14:49:58
【问题描述】:
如何从我的数组中随机选择一个字符串,但不能两次选择相同的字符串。
string[] names = { "image1.png", "image2.png", "image3.png", "image4.png", "image5.png" };
这可能吗?我正在考虑使用
return strings[random.Next(strings.Length)];
但这有可能两次返回相同的字符串。还是我错了?我是否应该使用List 之类的其他东西来完成此操作。欢迎任何反馈。
【问题讨论】:
-
听起来你想shuffle 数组,然后正常遍历数组。 Stack Overflow 上有很多乱七八糟的问题。
-
@Atrljoe - 你明白返回相同的字符串两次是随机结果吧?如果您不想两次获得相同的结果,则不能将其描述为随机结果。
-
@Ramhound 当然是随机的。它不会是一系列独立事件,但它仍然是随机的。
-
@ramhound 我理解它不是完全随机的,但在这种情况下,如果我要求用户选择一张图片,它会随机返回所有相同的图片(非常不可能,但理论上可能)那么用户别无选择。我不需要它完美到足以让我看到随机的结果。
-
我已经回答了这个[来自数组的随机项][1] [1]:stackoverflow.com/questions/1392819/…