c#更优雅的方式来查找数字是否在范围内

时间:2013-06-02 03:22:12

标签: c#

在我正在进行的一个项目中,我需要检查一个值是否介于可被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...

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

1 个答案:

答案 0 :(得分:8)

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

只要Number为正数,这就应该有效;如果不是,您将不得不研究%如何处理负数:

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