title: .NET CultureInfo.InvariantCulture.CompareInfo IndexOf vs LastIndexOf - What is going on?
body: <p>In our app I wanted to be good citizen and transfer from culture-aware string comparisons to some deterministic comparisons in InvariantCulture, but because of that my app started crashing with OutOfMemory because of infinite cycle.</p>
  
  <p>It all comes down to this. I evaluated this in Immediate Window:</p>
  
  <pre><code>CultureInfo.InvariantCulture.CompareInfo.IndexOf("(např. BroadSwo", " ", 0, CompareOptions.IgnoreCase | CompareOptions.IgnoreNonSpace);
  6
  
  CultureInfo.InvariantCulture.CompareInfo.LastIndexOf("(např. BroadSwo", " ", 0, CompareOptions.IgnoreCase | CompareOptions.IgnoreNonSpace);
  -1
  </code></pre>
  
  <p>What on earth is going on here? </p>
  
  <p>How LastIndexOf can give me 'not found' when IndexOf with the same culture and same input gives me 'found some'?</p>
  
  <p>Is this a BUG? Or what I am missing?</p>