0

我有一个 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”,但是当我运行这个表达式时,没有返回任何内容。我会以错误的方式解决这个问题吗?

4

1 回答 1

3

Contains方法区分大小写。可能是您的输入和比较在大小写上有所不同吗?为了解决这个问题,您可以IndexOf改用:

var filtered = masterDocs.Where(i => 
    i.DisplayTitle.IndexOf(
        searchStr, StringComparison.InvariantCultureIgnoreCase) >= 0);
于 2012-04-29T05:59:22.393 回答