title: why is string IndexOf() acting case-INsensitive?
body: <p>I'm really stumped by this one.  I'm learning LINQ and used Microsoft Visual C# Express Edition to connect to a SQL Server database containing information about my books.  I created the LINQ to SQL classes as needed.  That stuff obviously works.  It all works except I cannot figure out for the life of me why, if I search for "SR" (uppercase), it finds two records, "SR-71 Revealed, The Inside Story", as expected, but it also finds "Faded Sun: Kesrith" where the "sr" is lowercase.  I'm using the IndexOf() method of the string class, which is supposed to perform a case-SENSITIVE comparison, right?  The output displays the second book title as shown above, with the "sr" in lowercase.  Here's the pertinent part of the code:</p>
  
  <pre><code>// normal using directives here
  namespace QueryBooksDB {
      class Program {
          static void Main() {
              var urgh = new BooksDataContext();
  
              Console.WriteLine("Enter a string to search for:");
              string str = Console.ReadLine();
  
              var list = from book in urgh.Books
                          where book.Title.IndexOf(str) &gt; -1
                          orderby book.Title
                          select new { ID = book.BookId, book.Title, book.Location };
  
              foreach ( var b in list ) {
                  Console.WriteLine(b.Title);
              }
          }
      }
  }
  </code></pre>