Reading the coding horror, I just came across the FizzBuzz another time.
The original post is here: Coding Horror: Why Can\'t Programmers.. Program?
For thos
This my effort mixing Func with IEnumerable
class Program
{
static void Main(string[] args)
{
foreach (var i in FizzBuzz(100))
{
Console.WriteLine(i);
}
}
private static IEnumerable FizzBuzz(int maxvalue)
{
int count = 0;
//yield return count.ToString();
Func FizzBuzz = (x) => ((x % 5 == 0 && x % 3 == 0) ? "FizzBuzz" : null);
Func Buzz = (x) => ((x % 5 == 0) ? "Buzz" : null);
Func Fizz = (x) => ((x % 3 == 0) ? "Fizz" : null);
Func Number = (x) => x.ToString();
while (count < maxvalue)
{
count++;
yield return FizzBuzz(count) ?? Buzz(count) ?? Fizz(count) ?? Number(count);
}
}
}