<?xml version="1.0" encoding="UTF-8"?>
<code>
  <code>using System;

namespace FizzBuzz
{
    class Program
    {
        static void Main(string[] args)
        {

            for (int i = 1; i &lt; 101; i++)
                Console.WriteLine(string.Format("{0}{1}{2}",
                     i % 3 != 0 &amp;&amp; i % 5 != 0 ? i.ToString() : "", i % 3 == 0 ? "Fizz" : "", i % 5 == 0 ? "Buzz" : ""));
            Console.ReadKey();
        }
    }
}
</code>
  <comment>Let the battle begin!</comment>
  <created-at type="datetime">2007-10-24T15:13:49+00:00</created-at>
  <id type="integer">102</id>
  <language>C#</language>
  <permalink>i-hate-to-do-this-but</permalink>
  <refactors-count type="integer">12</refactors-count>
  <title>I hate to do this, but...</title>
  <trackback-url></trackback-url>
  <updated-at type="datetime">2008-08-14T01:14:02+00:00</updated-at>
  <user-id type="integer">224</user-id>
  <refactors type="array">
    <refactor>
      <code>for ( int i = 1; i &lt; 101; i++ )
     Console.WriteLine(

          i % 3 != 0 &amp;&amp; i % 5 != 0 ? i.ToString() :
          i % 3 == 0 ? i % 5 == 0 ? "FizzBuzz" : "Fizz" : "Buzz"

     );

Console.ReadKey();</code>
      <code-id type="integer">102</code-id>
      <comment>Easier to read and less CPU/Memory usage.  There's a trinary set of possible outcomes so using the string "FizzBuzz" yields the same result.  If this is for school, you might want to make sure concatenating Fizz and Buzz is acceptable.</comment>
      <created-at type="datetime">2007-10-24T16:42:01+00:00</created-at>
      <id type="integer">530</id>
      <language>C#</language>
      <rating type="integer">3</rating>
      <ratings-count type="integer">6</ratings-count>
      <title>On I hate to do this, but...</title>
      <user-id type="integer" nil="true"></user-id>
      <user-name>Hyru</user-name>
      <user-website>http://www.hyru.net</user-website>
    </refactor>
    <refactor>
      <code>for ( int i = 1; i &lt; 101; i++ )
     Console.WriteLine(

          i % 3 != 0 &amp;&amp; i % 5 != 0 ? i.ToString() :
          (i % 3 == 0 ? "Fizz" : "")+(i % 3 == 0 ? "Bizz" : "")

     );

Console.ReadKey();
</code>
      <code-id type="integer">102</code-id>
      <comment></comment>
      <created-at type="datetime">2007-10-24T18:12:25+00:00</created-at>
      <id type="integer">532</id>
      <language>C#</language>
      <rating type="integer">2</rating>
      <ratings-count type="integer">6</ratings-count>
      <title>On I hate to do this, but...</title>
      <user-id type="integer" nil="true"></user-id>
      <user-name>steve</user-name>
      <user-website></user-website>
    </refactor>
    <refactor>
      <code>
int mod15 = 0;

for ( int i = 1; i &lt; 101; i++ ) {
     
     switch(++mod15) {
         case 15:
             Console.WriteLine("FizzBuzz");
             mod15 = 0;
             break;
         case 3:
         case 6:
         case 9:
             Console.WriteLine("Fizz");
             break;
         case 5:
         case 10:
             Console.WriteLine("Buzz");
             break;
         default:
             Console.WriteLine(i);
             break;

     }  

}

Console.ReadKey();</code>
      <code-id type="integer">102</code-id>
      <comment>What should this be optimized for? 
Speed of execution? Readability? 

How about this?</comment>
      <created-at type="datetime">2007-10-26T21:23:46+00:00</created-at>
      <id type="integer">560</id>
      <language>C#</language>
      <rating type="integer">2</rating>
      <ratings-count type="integer">6</ratings-count>
      <title>On I hate to do this, but...</title>
      <user-id type="integer" nil="true"></user-id>
      <user-name>Dave</user-name>
      <user-website></user-website>
    </refactor>
    <refactor>
      <code>(from n in Enumerable.Range(1, 100)
where (n % 3) == 1 || (n % 2) == 1
select n.ToString() + "=" + (((n % 2) == 1) ? "Fizz" : "") + (((n % 3) == 1) ? "Buzz" : "")).ToList().ForEach(Console.WriteLine);</code>
      <code-id type="integer">102</code-id>
      <comment></comment>
      <created-at type="datetime">2007-12-11T18:18:45+00:00</created-at>
      <id type="integer">1082</id>
      <language>C#</language>
      <rating type="integer">2</rating>
      <ratings-count type="integer">6</ratings-count>
      <title>On I hate to do this, but...</title>
      <user-id type="integer" nil="true"></user-id>
      <user-name>Mark Lindell</user-name>
      <user-website>http://codeliability.blogspot.com</user-website>
    </refactor>
    <refactor>
      <code>static string fizz(int i)
{
	if (i % 3 == 0)
		return "Fizz";
		
	return string.Empty;
}

static string Buzz(int i)
{
	if (i % 5 == 0)
		return "Buzz";
		
	return string.Empty;
}

for (int i = 1; i &lt; 101; i++)
{
	string fizzbuzz = fizz(i) + Buzz(i);
	Console.WriteLine(fizzbuzz == string.Empty ? i.ToString() : fizzbuzz);
}</code>
      <code-id type="integer">102</code-id>
      <comment></comment>
      <created-at type="datetime">2007-12-17T17:41:20+00:00</created-at>
      <id type="integer">1176</id>
      <language>C#</language>
      <rating type="integer">2</rating>
      <ratings-count type="integer">6</ratings-count>
      <title>On I hate to do this, but...</title>
      <user-id type="integer" nil="true"></user-id>
      <user-name>Kalpesh</user-name>
      <user-website></user-website>
    </refactor>
    <refactor>
      <code>public static class ExtensionMethods
{
    public static string FizzBuzz(this int i)
    {
        return (i % 3 == 0 &amp;&amp; i % 5 == 0) ? "FizzBuzz" : (i % 3 == 0) ? "Fizz" : (i % 5 == 0) ? "Buzz" : i.ToString();
    }
}

class Program
{
    static void Main(string[] args)
    {
        for (int i = 1; i &lt;= 100; i++) Console.WriteLine(i.FizzBuzz());
        Console.ReadLine();
    }
}</code>
      <code-id type="integer">102</code-id>
      <comment>version with extension method and oneline fizzbuzz calculation</comment>
      <created-at type="datetime">2008-03-25T20:06:15+00:00</created-at>
      <id type="integer">4402</id>
      <language>C#</language>
      <rating type="integer">3</rating>
      <ratings-count type="integer">4</ratings-count>
      <title>On I hate to do this, but...</title>
      <user-id type="integer" nil="true"></user-id>
      <user-name>pho</user-name>
      <user-website></user-website>
    </refactor>
    <refactor>
      <code>String output; 
        for (int i=1;i&lt;=100;i++)
        {
            output = (i % 3 == 0) ? "Fizz" : ""; 
            output = (i % 5 == 0) ? output + "Buzz" : output; 
            if (output.Equals("")) output = i.ToString();
            Response.Write(output + "&lt;br /&gt;"); 
        }</code>
      <code-id type="integer">102</code-id>
      <comment>Can't take credit for this but it's the cleanest solution I've seen.</comment>
      <created-at type="datetime">2008-06-22T22:54:12+00:00</created-at>
      <id type="integer">11512</id>
      <language>C#</language>
      <rating type="integer">2</rating>
      <ratings-count type="integer">2</ratings-count>
      <title>On I hate to do this, but...</title>
      <user-id type="integer" nil="true"></user-id>
      <user-name>David H</user-name>
      <user-website></user-website>
    </refactor>
    <refactor>
      <code>    static class ExtensionsMethods
    {
        public static bool IsMultipleOf(this int number, int num)
        {
            return number % num == 0;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            for (int i = 1; i &lt;= 100; i++)
                Console.WriteLine(FizzBuzzify(i));

            Console.ReadKey();
        }

        static string FizzBuzzify(int i)
        {
            if (i.IsMultipleOf(3) &amp;&amp; i.IsMultipleOf(5))
                return "FizzBuzz";

            if (i.IsMultipleOf(3))
                return "Fizz";

            if (i.IsMultipleOf(5))
                return "Buzz";

            return i.ToString();
        }
    }</code>
      <code-id type="integer">102</code-id>
      <comment></comment>
      <created-at type="datetime">2008-07-16T02:04:07+00:00</created-at>
      <id type="integer">13184</id>
      <language>C#</language>
      <rating type="integer">4</rating>
      <ratings-count type="integer">1</ratings-count>
      <title>On I hate to do this, but...</title>
      <user-id type="integer">781</user-id>
      <user-name>dcadenas.blogspot.com</user-name>
      <user-website>http://dcadenas.blogspot.com</user-website>
    </refactor>
    <refactor>
      <code>## FizzBuzz in Perl [perl]
my %fbmap = (3 =&gt; 'Fizz', 5 =&gt; 'Buzz');
my $fizzbuzz = sub {
    my $num = $_;
    join('', map {$num % $_ ? '' : $fbmap{$_}} keys %fbmap) || $num;
};

print "@{[map &amp;$fizzbuzz, 1..100]}\n";
</code>
      <code-id type="integer">102</code-id>
      <comment>Implementation in Perl. :-P

(Le sigh, some people just have no sense of humour. Marking my submission as spam? You've got to be kidding me, it's a valid FizzBuzz program after all.)</comment>
      <created-at type="datetime">2008-07-16T10:20:26+00:00</created-at>
      <id type="integer">13205</id>
      <language>C#</language>
      <rating type="integer">1</rating>
      <ratings-count type="integer">1</ratings-count>
      <title>On I hate to do this, but...</title>
      <user-id type="integer">611</user-id>
      <user-name>Chris Jester-Young</user-name>
      <user-website></user-website>
    </refactor>
    <refactor>
      <code>## FizzBuzzLogic.cs

        /// &lt;summary&gt;
        /// Creates the transform.
        /// &lt;/summary&gt;
        /// &lt;returns&gt;The Transform to apply to each number. This is really the FizzBuzz Operation.&lt;/returns&gt;
        public ITransformer CreateTransformer()
        {
            return new CoalescingTransformer(
                        new ConcatenatingTransformer(
                            new PredicatedTransformer(
                                delegate(int i) { return i % 3 == 0; },
                                new StaticMessageTransformer("Fizz"),
                                new NullTransformer()),
                            new PredicatedTransformer(
                                delegate(int i) { return i % 5 == 0; },
                                new StaticMessageTransformer("Buzz"),
                                new NullTransformer())),
                        new IdentityTransformer());
        }</code>
      <code-id type="integer">102</code-id>
      <comment>I can't resist posting the wonder that is Enterprise FizzBuzz http://code.google.com/p/fizzbuzz 

Here is a sample portion.</comment>
      <created-at type="datetime">2008-07-17T01:40:20+00:00</created-at>
      <id type="integer">13235</id>
      <language>C#</language>
      <rating type="integer">2</rating>
      <ratings-count type="integer">2</ratings-count>
      <title>On I hate to do this, but...</title>
      <user-id type="integer">772</user-id>
      <user-name>Wolfbyte</user-name>
      <user-website>http://wolfbyte-net.blogspot.com</user-website>
    </refactor>
    <refactor>
      <code></code>
      <code-id type="integer">102</code-id>
      <comment>@Wolfbyte: Haha, nice. Very enterprisey, probably suitable for the next OMGWTF contest. :-P (That's http://omg.thedailywtf.com/ for the lurkers.)</comment>
      <created-at type="datetime">2008-07-18T01:45:34+00:00</created-at>
      <id type="integer">13275</id>
      <language>C#</language>
      <rating type="integer">0</rating>
      <ratings-count type="integer">0</ratings-count>
      <title>On I hate to do this, but...</title>
      <user-id type="integer">611</user-id>
      <user-name>Chris Jester-Young</user-name>
      <user-website></user-website>
    </refactor>
    <refactor>
      <code>class P {
    static void Main() {
        for (int i = 0; i++ &lt; 100; )
            System.Console.WriteLine(
                i % 3 &lt; 1 ? i % 5 &lt; 1 ? "FizzBuzz" : "Fizz" :
                    i % 5 &lt; 1 ? "Buzz" : "" + i
            );
    }
}</code>
      <code-id type="integer">102</code-id>
      <comment>This is how I've refactored it for a code golf version of Fizz Buzz</comment>
      <created-at type="datetime">2008-08-14T01:14:00+00:00</created-at>
      <id type="integer">14997</id>
      <language>C#</language>
      <rating type="integer">0</rating>
      <ratings-count type="integer">0</ratings-count>
      <title>On I hate to do this, but...</title>
      <user-id type="integer">940</user-id>
      <user-name>paul.wilkins.myopenid.com</user-name>
      <user-website></user-website>
    </refactor>
  </refactors>
</code>
