2013-06-02 39 views
1

在我正在處理的其中一個項目中,我需要檢查一個值是否落在可被12整除的數字與可被12整除的數字之間c#查找數字是否在範圍內的更優雅的方式

if (Number >= 0 && Number <= 5) { 
      value = 0; 
} else if (Number >= 12 && Number <= 17) { 
      value = 12; 
} else if (Number >= 24 && Number <= 29) { 
      value = 24; 
} 
// etc... 

上面的代碼完美地工作,但我覺得它可以被減少。有沒有人有另一種方式來實現我的目標,但更優雅?

+2

像數字%12 <= 5可能會讓你開始。做一些工作來處理負面情況(如果適用),並看看你得到了什麼。 –

+0

請參閱此[問題](http://stackoverflow.com/q/5023213/299327) –

回答

8

使用%運算符。 (見http://msdn.microsoft.com/en-us/library/0w4e0fzs.aspx

只要Number是正的,這應該工作;如果不是,你將不得不看%如何工作負數:

if (Number % 12 <= 5) { 
    value = 12*(int)(Number/12); 
} 
+0

非常感謝。我需要等待8分鐘,直到我能給你最好的答案。 我不知道爲什麼我沒有想到這一點。 – Hayden

+1

應該是(int)(Number ...)而不是int(Number ...) –

+0

哦好打電話,編輯 – ahuff44

相關問題