FizzBuzz
過去の記事を確認したら、 Blog では扱っていなかったみたいですね。(どこかに書いた記憶はあるんだけど……、どっかの掲示板だったかしら)
なので、改めて私なりの回答を。
# ネタですよ。もし入社試験とかで出されたらこんな回答は出しません。素直にループで書くと思います。
class Foo { static void Main() { foreach (var s in new FizzBuzz(100)) { Console.WriteLine(s); } } } class FizzBuzz : IEnumerable { int _end; public FizzBuzz(int end) { _end = end; } public IEnumerator GetEnumerator() { foreach (var i in Enumerable.Range(1, _end)) { yield return i % 15 == 0 ? "FizzBuzz" : i % 3 == 0 ? "Fizz" : i % 5 == 0 ? "Buzz" : i.ToString(); } } }
……無駄が多いとか気にしません。ネタですし。 :p