我必須縮短布爾函數爲一行。我是C#中的一個begginer,我不知道如何縮短它。如何縮短布爾函數
static bool mod(int number)
{
if (number % 3 == 0)
{
return true;
}
else
{
return false;
}
}
我必須縮短布爾函數爲一行。我是C#中的一個begginer,我不知道如何縮短它。如何縮短布爾函數
static bool mod(int number)
{
if (number % 3 == 0)
{
return true;
}
else
{
return false;
}
}
你想這樣的:
static bool mod(int number){
return number % 3 == 0;
}
static bool mod(int number)
{
return number % 3 == 0;
}
嗨Sethu Bala;你的代碼可能是正確的,但是在某些情況下,它會作出更好的回答;例如,您可以解釋如何以及爲什麼這個提議的變更可以解決提問者的問題,或許還包括指向相關文檔的鏈接。這將使它對他們更有用,而且對尋求類似問題解決方案的其他網站讀者也更有用。 –
只返回表達if
語句來裏面:
static bool mod(int number)
{
return number % 3 == 0;
}
使用簡單number % 3 == 0
,內聯,或作爲函數體。如果您確實將其保留爲功能,那麼請考慮將函數重命名爲mod_by_3
或類似名稱。
在C和C++中,你可以使用明顯更清晰的!(number % 3)
。
Errr ...這看起來像C ...這不會在C#中編譯,或者我錯過了什麼? –
@RenéVogt:糟糕,添加了C#版本:在某些方面,它更加優雅,但是對於您對操作符優先級的瞭解是一個試金石:乳蛋餅食者可能希望看到'(數字%3)== 0' – Bathsheba
我是贏家嗎? Expression bodied functions are new in C#6
static bool Mod(int number) => number % 3 == 0;
pfft那不是一條線。我們需要完整的codegolf! 'static bool mod(int n){return n%3 == 0;}';) –
@AlfieGoodacre::-D :-D :-D –
哼。我從一些評論的幫助中收斂了這個答案。 upvoted,因爲你顯然是專家。 – Bathsheba