title: String concatenation with ternary operator
body: <p>I am creating a <code>SelectList</code> of various contacts. I want the text shown to be a combination of <code>FirstName</code>, <code>MiddleInit</code>(if possible), and <code>LastName</code>.</p>
  
  <pre><code>IEnumerable&lt;SelectListItem&gt; items = contacts
  .Select(r =&gt; new SelectListItem()
  {
      Value = r.ContactID.ToString(),
      Text = r.FirstName + " " 
      + string.IsNullOrEmpty(r.MiddleInit) ? r.MiddleInit + ". " : ""
      + r.LastName
  });
  </code></pre>
  
  <p>I am getting the error:</p>
  
  <pre><code>Error   4   Cannot implicitly convert type 'string' to 'bool'   C:\Users\cu551d\Documents\Visual Studio 2010\Projects\WVM\WVM\Controllers\SOWController.cs  181 15  WVM
  </code></pre>
  
  <p>I'm guessing it has something to do with my syntax. Am I able to do something like this in c#? </p>
  
  <p>Also, should I include a <code>Trim()</code> statement on <code>MiddleInit</code>? I thought this error was very strange as <code>IsNullOrEmpty</code> does in fact return a bool. I also tried <code>(string.IsNullOrEmpty(r.MiddleInit) == true ) ..</code></p>