title: DateTime.ParseExact string format keeps throwing error
body: <p>I have a string representation of DateTime that looks like this:</p>
  
  <pre><code>2011-05-25T16:42:17.156Z
  </code></pre>
  
  <p>I have tried the following without any luck:</p>
  
  <pre><code>DateTime.ParseExact(formatted, "yyyy-MM-ddThh:mm:ss.fffZ", CultureInfo.CurrentCulture);
  DateTime.ParseExact(formatted, "yyyy-MM-dd hh:mm:ss.fff", CultureInfo.CurrentCulture);
  DateTime.ParseExact(formatted, CultureInfo.CurrentCulture.DateTimeFormat.GetAllDateTimePatterns(), CultureInfo.CurrentCulture, DateTimeStyles.AssumeUniversal);
  DateTime.ParseExact(formatted, CultureInfo.CurrentCulture.DateTimeFormat.GetAllDateTimePatterns(), CultureInfo.CurrentCulture, DateTimeStyles.None);
  </code></pre>
  
  <p>All of these give the error:</p>
  
  <pre><code>String was not recognized as a valid DateTime.
  </code></pre>
  
  <p>Standard DateTime.Parse appears to work, though for performance reasons we are exploring ParseExact.  This seems like it should be pretty straight forward, but can't seem to get it to work.</p>