我有一个Linq查询,用于搜索句子中的特定单词。但我想使该特定单词不区分大小写。这样您就可以搜索Actionaction

我的Linq查询看起来像这样:

var bookFilter = new List<Book> {
  new Book { Title = "LINQ in Action" },
  new Book { Title = "LINQ for Fun" },
  new Book { Title = "Extreme LINQ" } };

var titles =
    from booksss in bookFilter
    where string.Equals(booksss.Title,
                       "Action",
                       StringComparison.InvariantCultureIgnoreCase)
    select booksss.Title;

ObjectDumper.Write(titles);


但是什么都没退?

最佳答案

您要检查Title是否包含字符串。但是,Contains本身没有StringComparison参数的重载,但是您可以轻松地使用IndexOf进行处理。

  var bookFilter = new List<Book>() {
    new Book { Title = "LINQ in Action" },
    new Book { Title = "LINQ for Fun" },
    new Book { Title = "Extreme LINQ" } };

  ...

  var titles = bookFilter
    .Select(book => book.Title)
    .Where(title => title
       .IndexOf("Action", StringComparison.InvariantCultureIgnoreCase) >= 0);

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

10-17 00:45
查看更多