我很困惑这个问题。我正在学习LINQ,并使用Microsoft Visual C# Express Edition连接到一个包含有关我的书籍信息的SQL Server数据库。我根据需要创建了LINQ to SQL类。显然那些都有效。除了一个问题,如果我搜索大写字母“SR”,它会找到两条记录,“SR-71 Revealed, The Inside Story”,如预期,但它还会找到“Faded Sun: Kesrith”,其中“sr”是小写。我正在使用字符串类的IndexOf()方法,该方法应执行区分大小写的比较,对吗?输出显示第二本书的标题如上所示,其中“sr”为小写。以下是代码的相关部分:
// 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) > -1
orderby book.Title
select new { ID = book.BookId, book.Title, book.Location };
foreach ( var b in list ) {
Console.WriteLine(b.Title);
}
}
}
}