C# 如何缩短布尔函数

C# 如何缩短布尔函数,c#,function,boolean,C#,Function,Boolean,我必须将布尔函数缩短为一行。我是C#的乞丐,我不知道如何缩短它 static bool mod(int number) { if (number % 3 == 0) { return true; } else { return false; } } 你想要这个: static bool mod(int number){

我必须布尔函数缩短为一行。我是C#的乞丐,我不知道如何缩短它

    static bool mod(int number) 
    {
        if (number % 3 == 0)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
你想要这个:

static bool mod(int number){    
   return number % 3 == 0;
}

只需返回
if
-语句中的表达式:

static bool mod(int number) 
{
    return number % 3 == 0;
}

简单地使用
number%3==0
,可以是内联的,也可以是函数体。如果您将其保留为函数,那么请考虑将函数重命名为<代码> MODYBYY3/<代码>或类似。

在C和C++中,你可以用更清楚的代码<(数字%3)

我是赢家


pfft这不是一条线。我们需要全码高尔夫<代码>静态布尔模型(int n){返回n%3==0;};)@阿尔菲古德克:D:-D:-D:-DHum。在评论的帮助下,我终于得出了这个答案。因为你显然是专家,所以被投票支持。@AlfieGoodacre
static bool mod(int n)=>n%3==0will doErrr。。。这看起来像。。。这不会用C#编译,或者我遗漏了什么?@RenéVogt:Oops,C#version补充道:在某些方面,它更优雅,但它是你对操作符优先级知识的试金石:吃蛋奶饼的人可能想看看
(数字%3)==0
这是实现OP实际要求的最佳答案。@Botonomous如果你使用C#6这接近于20世纪70年代发明的语言的优雅。投赞成票。非常正确,尽管我认为如果没有具体说明的话,假设c#6是公平的。考虑到它已经2岁了。嗨,塞图巴拉;您的代码可能是正确的,但如果有一些上下文,它将是一个更好的答案;例如,您可以解释提议的更改如何以及为什么会解决提问者的问题,可能包括相关文档的链接。这将使它对他们更有用,也对其他正在寻找类似问题解决方案的网站读者更有用。
static bool mod(int number) 
{
    return number % 3 == 0;
}
static bool Mod(int number) => number % 3 == 0;