0

私はラムダ式を持っています:

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

何らかの理由で、期待される結果が返されません。たとえば、"Orifice" という単語を含む DisplayTitle がありますが、この式を実行しても何も返されません。私はこれについて間違った方法で進んでいますか?

4

1 に答える 1

3

このContains方法では大文字と小文字が区別されます。入力と比較が大文字小文字で異なる可能性がありますか?IndexOfこれを回避するには、代わりに次を使用できます。

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