C# LINQ语句,如同条件
我看到一段代码是这样写的:C# LINQ语句,如同条件,c#,C#,我看到一段代码是这样写的: if (from n in numbers select n where n = 5) if ((from n in numbers where n == 5 select n).Any()) 然而,我试着写类似的东西,但遇到了错误(请记住,代码示例可能与我在内存中键入的代码不完全相同)。我怎样才能编写像上面这样的代码 谢谢要将其用作条件,您需要有一个返回布尔值的表达式。最可能的情况是,这意味着检查是否有任何数字符合您的标准 你可能想做: if ( (from n
if (from n in numbers select n where n = 5)
if ((from n in numbers where n == 5 select n).Any())
然而,我试着写类似的东西,但遇到了错误(请记住,代码示例可能与我在内存中键入的代码不完全相同)。我怎样才能编写像上面这样的代码
谢谢要将其用作条件,您需要有一个返回布尔值的表达式。最可能的情况是,这意味着检查是否有任何数字符合您的标准 你可能想做:
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
}
为了将其用作条件,需要有一个返回布尔值的表达式。最可能的情况是,这意味着检查是否有任何数字符合您的标准 你可能想做:
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
}
可能是这样的:
if (from n in numbers select n where n = 5)
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
是一种自定义的不可枚举类型,具有返回bool的Select
方法,可能是这样的:
if (from n in numbers select n where n = 5)
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
。
在“选择零件”中尝试使用布尔表达式。如果需要布尔表达式。
尝试在“选择零件”中使用布尔表达式。错误。这将返回IEnumerable
。错误。这将返回IEnumerable
。