2016-11-30 56 views
0

我必須縮短布爾函數爲一行。我是C#中的一個begginer,我不知道如何縮短它。如何縮短布爾函數

static bool mod(int number) 
    { 
     if (number % 3 == 0) 
     { 
      return true; 
     } 
     else 
     { 
      return false; 
     } 
    } 

回答

6

你想這樣的:

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

pfft那不是一條線。我們需要完整的codegolf! 'static bool mod(int n){return n%3 == 0;}';) –

+0

@AlfieGoodacre::-D :-D :-D –

+0

哼。我從一些評論的幫助中收斂了這個答案。 upvoted,因爲你顯然是專家。 – Bathsheba

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

嗨Sethu Bala;你的代碼可能是正確的,但是在某些情況下,它會作出更好的回答;例如,您可以解釋如何以及爲什麼這個提議的變更可以解決提問者的問題,或許還包括指向相關文檔的鏈接。這將使它對他們更有用,而且對尋求類似問題解決方案的其他網站讀者也更有用。 –

1

只返回表達if語句來裏面:

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

使用簡單number % 3 == 0,內聯,或作爲函數體。如果您確實將其保留爲功能,那麼請考慮將函數重命名爲mod_by_3或類似名稱。

在C和C++中,你可以使用明顯更清晰的!(number % 3)

+2

Errr ...這看起來像C ...這不會在C#中編譯,或者我錯過了什麼? –

+0

@RenéVogt:糟糕,添加了C#版本:在某些方面,它更加優雅,但是對於您對操作符優先級的瞭解是一個試金石:乳蛋餅食者可能希望看到'(數字%3)== 0' – Bathsheba