c# - LINQ 语句作为 if 条件

标签 c#

我看到一段代码是这样写的:

if (from n in numbers select n where n = 5)

但是,我尝试写这样的东西但遇到了错误(请记住,代码示例可能与上面的代码不完全一样,因为我是凭内存输入的)。我怎样才能写出像上面这样的代码?

谢谢

最佳答案

为了将其用作条件,您需要有一个返回 bool 值的表达式。这很可能意味着检查是否有任何数字符合您的标准。

你可能想做:

if ( (from n in numbers where n == 5 select n).Any() )
{
   // Do something
}

就个人而言,我会避免语言集成语法,并将其写为:

if (numbers.Where(n => n == 5).Any())
{
   // Do something
}

甚至:

if (numbers.Any(n => n == 5))
{
   // Do something
}

关于c# - LINQ 语句作为 if 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2489129/

相关文章:

c# - 无法确定条件表达式的类型,因为 'int' 和 '<null>' 之间没有隐式转换

c# - 如何让 Unity 解析 AutoMapper 在映射时创建的模型?

c# - 发送嵌入图像的电子邮件 - 图像不可见

c# - 如何模拟多个查询字符串?

c# - Xamarin iOS - 模拟器 View 不刷新

c# - 侧面加载到微软团队后,我无法从机器人那里得到回复

c# - 如何在 GC 进行垃圾回收之前在 asp.net 中处理 DataTable?

c# - 映射接口(interface)或抽象类组件

c# - 是否可以在检查器窗口中锁定或覆盖游戏对象比例属性坐标?

C# 用户控件自定义属性