禁用我的关键字搜索的区分大小写

这个问题在这里已经有了答案:

  • 不区分大小写'包含(字符串)'22个答案

  • 假设有一个布尔属性CaseSensitive标识搜索模式。 然后你可以使用string.IndexOf来正确设置StringComparison来解决这个问题:

    StringComparison comparison = CaseSensitive ?
        StringComparison.CurrentCulture : StringComparison.CurrentCultureIgnoreCase;
    if (value.Value.IndexOf(txtFilterValue.Text, comparison) >= 0)
    {
        //Returns true...
    }
    

    整个查询可以简单地用LINQ写成

    private void GetFilteredResults(MessageDetails detail, FilterEventArgs e)
    {
        bool comparison = CaseSensitive ?
            StringComparison.CurrentCulture : StringComparison.CurrentCultureIgnoreCase;
        return detail.MessageValue.Any(v => v.Value.IndexOf(txtFilterValue.Text, comparison) >= 0);
    }
    
    链接地址: http://www.djcxy.com/p/13099.html

    上一篇: Disabling Case sensitivity for my keyword search

    下一篇: Is there a function to compare a string to a larger string?