using System; class Program { static int* ReverseRange(int max, int min) { for(int i = max; i >= min; i--) { yield return i; } } public struct verse { public string part1; public string action; public string part2; public int index; } static void Main() { ReverseRange(99, 0).{ if(it != 0) { string plural = it != 2 ? "s" : ""; return { return string.Format("{0} bottle{1} of beer", it, plural); } Take one down and pass it around { return string.Format("{0} bottle{1} of beer", it - 1, plural); } { it } ; } else { return No more bottles of beer Go to the store and buy some more 99 bottles of beer { it } ; } }.{ Console.WriteLine("{0} on the wall, {0}", it.part1); Console.WriteLine("{0}, {1} on the wall", it.action, it.part2); }; Console.ReadLine(); } }