我有一个Linq查询,用于搜索句子中的特定单词。但我想使该特定单词不区分大小写。这样您就可以搜索Action
或action
。
我的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/