<p>Let's say that you want to output or concat strings. Which of the following styles do you prefer?</p>

<ul>
<li><p><code>var p = new { FirstName = "Bill", LastName = "Gates" };</code></p></li>
<li><p><code>Console.WriteLine("{0} {1}", p.FirstName, p.LastName);</code></p></li>
<li><p><code>Console.WriteLine(p.FirstName + " " + p.LastName);</code></p></li>
</ul>

<p>Do you rather use format or do you simply concat strings? What is your favorite? Is one of these hurting your eyes?</p>

<p>Do you have any rational arguments to use one and not the other?</p>

<p>I'd go for the second one.</p>

Personally, the second one as everything you are using is in the direct order it will be output in.  Whereas with the first you have to match up the {0} and {1} with the proper var, which is easy to mess up.
At least it's not as bad as the C++ sprint where if you get the variable type wrong the whole thing will blow up.
Also, since the second is all inline and it doesn't have to do any searching and replacing for all the {0} things, the latter should be faster... though I don't know for sure.