Random random = new Random();
int randomx = random.Next(0, 240);
这是我得到我的随机数的方式,从0到240,怎样才能得到只有积分与5相除? (包括0)除以5的随机数
0,5,10,15,20,25 .. 240
Random random = new Random();
int randomx = random.Next(0, 240);
这是我得到我的随机数的方式,从0到240,怎样才能得到只有积分与5相除? (包括0)除以5的随机数
0,5,10,15,20,25 .. 240
Random random = new Random();
int randomx = random.Next(0, 48) * 5;
让我们把它作为重复关闭:p(我知道,这只是迟了几秒) –
这里有一个(非常糟糕,因此社区维基)的方式来做到这一点:
Random random = new Random();
int randomx = 1;
while ((randomx % 5) > 0)
randomx = random.Next (0,240);
:-)
随意这个答案downvote被遗忘。这实际上只是为了防止他人发布。
警告幽默代码不是很适合生产环境
public static IEnumerable<int> RandomGen(int minValue, int maxValue)
{
var random = new Random();
while (true) yield return random.Next(minValue, maxValue);
}
public static IEnumerable<int> RandomGen(int minValue, int maxValue, params Func<int, bool>[] predicates)
{
return RandomGen(minValue, maxValue)
.Where(rnd => predicates.Aggregate(true, (a, pred) => a && pred(rnd)));
}
这种方式可以简单地
foreach (var x in RandomGen(0, 240, r => (r%5)==0))
{
// use x
}
(请不要拍我)
什么,没有用'x = 1; while((x%5)> 0)x = random.Next(0,240);'解答? :-) – paxdiablo
@paxdiablo:不!你是第一个! –
@paxdiablo:理论上可能你的代码在循环中处于暂停状态。 –