gpt4 book ai didi

c# 包含不区分大小写的搜索

转载 作者:可可西里 更新时间:2023-11-01 08:01:53 26 4
gpt4 key购买 nike

我有以下代码

var returnData = DemoData.Books.AsQueryable();

if (criteria.Author != string.Empty)
{
returnData = returnData.Where(x => x.Author.Contains(criteria.Author));
}

如何使 where 子句不区分大小写?

最佳答案

  1. 您可以使用ToLower() 函数。 ToLower 将字符串更改为全部小写。它转换整个字符串,而不更改已经小写的字母或数字。它复制一个字符串并返回对新字符串的引用。因此,在查询之外声明 criteria.Author.ToLower() 总是更好的选择。

    string lowerAuthor = criteria.Author.ToLower();
    returnData = returnData.Where
    (x => x.Author.ToLower().Contains(lowerAuthor));
  2. 您还可以对 StringComparison 枚举使用 IndexOf 重载。它会给您带来比 ToLower() 更好的性能。这个重载的签名是:

    int string.IndexOf(string value, StringComparison comparisonType);

    returnData = returnData.Where
    (x => x.Author.IndexOf(criteria.Author, StringComparison.CurrentCultureIgnoreCase) != -1);

关于c# 包含不区分大小写的搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23040142/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com