无论案例还是文化,都可以使用linq在文本中查找字符串

时间:2012-12-08 19:26:14

标签: c# linq lambda

  

可能重复:
  Ignoring accented letters in string comparison

我有一个搜索文本框,可以搜索数据库中所有新闻中的给定文本。所以我有这个:

List<NewsTranslation> newsTranslations = GetByLanguage(GlobalBL.CultureLanguage);
return newsTranslations.Where(
            e =>
            e.NewsContent.Contains(searchText) || e.NewsDescription.Contains(searchText) ||
            e.NewsTitle.Contains(searchText)).ToList();

工作正常,但我不需要考虑字母上的大小写或重音。

由于

1 个答案:

答案 0 :(得分:1)

这个比较器:

string.Compare(searchText, e, CultureInfo.CurrentCulture, CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreCase));

会做到这一点。您可以在LINQ查询中包含它,当两个参数等效时,它当然会返回0。