我看到一段代码写得像这样:
if (from n in numbers select n where n = 5)
但是,我尝试写这样的东西但遇到了错误(请记住,代码示例可能与我从内存中输入的内容完全不同)。我怎样才能编写如上所示的代码?
由于
答案 0 :(得分:3)
为了将此作为条件使用,您需要有一个返回布尔值的表达式。最有可能的是,这意味着要检查是否有符合您标准的数字。
您可能想要这样做:
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
}
答案 1 :(得分:1)
可能是这样的:
if ((from n in numbers where n == 5 select n).Any())
这也可以写成
if (numbers.Any(n => n == 5))
代码实际上是可能的,但不太可能,
if (from n in numbers where n == 5 select n)
和numbers
是一种自定义的非可枚举类型,其Select
方法返回bool
。
答案 2 :(得分:0)
如果需要布尔表达式。 在选择部分中尝试使用布尔表达式。