Random random = new Random();
int randomx = random.Next(0, 240);
这是我获取随机数的方式,从0到240,怎么才能得到除以5的积分? (包括0)
0,5,10,15,20,25 .. 240
答案 0 :(得分:19)
这个怎么样:
Random random = new Random();
return random.Next(0, 48) * 5;
或者,如果您需要240,请列出:
Random random = new Random();
return random.Next(0, 49) * 5;
答案 1 :(得分:7)
这是一个(非常糟糕,因此是社区维基)的方式:
Random random = new Random();
int randomx = 1;
while ((randomx % 5) > 0)
randomx = random.Next (0,240);
: - )
随意忘记这个答案。这只是为了防止其他人发布它。
答案 2 :(得分:4)
Random random = new Random();
int randomx = random.Next(0, 48) * 5;
答案 3 :(得分:2)
警告 幽默代码不太适合生产环境
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
}
(请不要拍我)