In ответ на paxdiablo .
ПРЕДУПРЕЖДЕНИЕ Код юмора не очень подходит для производственных сред
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
}
(пожалуйста, не стреляйте в меня)