c# - LINQ 查询查找字符串包含任何字母的列

标签 c# linq

我正在尝试使用 LINQ 查询查找客户状态为“A”且其代码不包含任何字母的所有客户代码。

var activeCustomers = Customers.Where(x => x.Status == "A" && x.Code.Any(n => !char.IsLetter(n))).Select(x => x.Code);

当我在 LinqPad 中运行此查询时,出现以下错误:

enter image description here

最佳答案

您需要将此作为两部分查询来执行。首先,您可以获得状态为“A”的所有用户:

var activeCustomers = Customers.Where(x => x.Status == "A").ToList();

在内存中获得这些后,您可以为 char.IsDigit 创建一个额外的过滤器:

var codes = activeCustomers.Where(x => x.Code.Any(n => !char.IsLetter(n)))
                           .Select(x => x.Code)
                           .ToArray();

关于c# - LINQ 查询查找字符串包含任何字母的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30304223/

相关文章:

由于 BCC,C# SmtpClient.Send() 很慢

c# - 在组连接 linq 查询中将字符串转换为十进制

c# - Linq VAR 和类型化对象

c# - 异步方法异常的不同行为

c# - Elastic Search Nest C#语法错误:在一个查询中使用通配符和多重匹配

javascript - 将 html 表中的输入文本动态传递给 Javascript 函数

LINQ 查询失败,变量 ormlite 可为空

c# - 使用 LINQ 优化图像检索

c# - 如何使用 Linq 在列表中查找两个连续项目的子列表

c# - 什么时候在 Code First Entity Framework 中创建数据库?