1

目前,在我正在进行的一个项目中,我需要检查一个值是否介于可被 12 整除的数字和可被 12 + 5 整除的数字之间。

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

上面的代码完美运行,但我觉得它可以被削减。有没有人有另一种方法来实现我的目标,但更优雅?

4

1 回答 1

8

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

只要 Number 为正,这应该有效;如果不是,您将不得不研究%负数的工作原理:

if (Number % 12 <= 5) {
    value = 12*(int)(Number/12);
}
于 2013-06-02T03:26:52.073 回答