c# - 比较字符串时如何忽略大小写?

标签 c#

我正在使用 linq 搜索列表(用户在文本框中输入查询)。

我希望它不区分大小写并尝试使用 IgnoreCase,但我不知道将它放在哪里....我知道我可以使用 upper 或 lower,但我想听听是否有人有其他选择方法?什么被认为是最佳实践? 正则表达式似乎也不起作用?

        string searchQuery = tbSearchQuery.Text;
        var something= from x in y 
                       where x.Subject.Contains(searchQuery)
                       select x;

最佳答案

由于还没有其他人提出,我建议使用静态 String.Equals所以您不必担心 null 并只返回您想要的信息。

String.Compare也有效,但您不是要对字符串进行排序(整数返回值的原因),只是确定它们在不区分大小写的比较下是否值相等。

var something = from x in y 
                where string.Equals(x.Subject, searchQuery, StringComparison.CurrentCultureIgnoreCase)
                select x;

关于c# - 比较字符串时如何忽略大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7804539/

相关文章:

c# - 在新的 WPF 项目中使用 Metro UI 是否值得?

c# - 如何在c#中的listview项目的特定行中插入数据?

c# - 如何获取表示两个 XML 文本之间差异的对象集合?

c# - 如何在 ObjectListView 中获取选定对象的值

c# - C# 中的多维数据结构

c# - 如何格式化时间跨度以显示总小时数?

c# - 如何将 HttpRequest 接收到 MVC 3 Controller 操作中?

c# - MVC Controller 和业务逻辑之间的区别(3 层)

c# - ASP.net MVC 4 路由和可选参数意外结果

c# - 将 C 中包含 unsigned char 指针的代码移植到 C#