c# - 查询包含一个或多个字符串的字符串

标签 c# asp.net linq

我在这里找到了一个例子:

var foo = things.Where(data => myList.Contains(data.Title));

然而,这是精确的字符串匹配。如果 data.Title.ToLower() 包含在列表 ToLower() 中找到的任何字符串,我只对它感兴趣。

说 list 有 apple,book ClockK 在里面。

data.Title 例如:Apple Jacks、Book Club、Clockwork Book,这些都可以。但是 Claws and Foods、Clicks、Application Fundamentals 不会被接受。

最佳答案

您要查找 Title 可能包含的每个项目(忽略大小写):

var foo = things.Where(data => myList
                .Any(item => data.Title.ToLower().Contains(item.ToLower())));

关于c# - 查询包含一个或多个字符串的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15835170/

相关文章:

c# - 在我的 C# 应用程序中结合使用 Task 和 IObservable 是一种不好的做法吗?

c# - 通过 Windows 窗体应用程序以编程方式部署 Web 应用程序

c# - 获取原始(未编码)查询字符串键/值

c# - Linq 查询 : where condition yields an empty sequence even if there should be one match

linq - 如何处理LINQ中没有结果?

c# - 如何从嵌入式 Uri 资源(png 图像)加载 System.Drawing.Bitmap 对象?

c# - .NET Core 的 .NET Remoting TCPChannel 模拟

c# - 如何从 json 序列化中排除特定类型

ASP.NET Razor Html.TextArea

c# - Entity Framework 按查询中的行字段降序排序