lambda搜索'包含'未返回预期结果

时间:2012-04-29 05:54:08

标签: .net linq-to-sql lambda

我有一个lambda表达式:

        var masterDocs = GetMasterDocs(new TNGService.TngServiceClient());
        var searchStr = txtDocSearch.Text;
        var filtered = masterDocs.Where(i => i.DisplayTitle.Contains(searchStr));
        lbxDocuments.DataSource = filtered;
        lbxDocuments.DataBind();

由于某种原因,它没有返回预期的结果。例如,有一个DisplayTitle包含单词“Orifice”但是当我运行这个表达式时,什么也没有返回。我是以错误的方式解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

Contains方法区分大小写。套管的输入和比较是否有所不同?要解决这个问题,您可以使用IndexOf代替:

var filtered = masterDocs.Where(i => 
    i.DisplayTitle.IndexOf(
        searchStr, StringComparison.InvariantCultureIgnoreCase) >= 0);