我们遵循的基本理念是
if (i > 0 && i < 100) {
} else if (i > 100 && 1 < 150) {
}
这是范围检查的基本思路..
有没有什么好方法可以检查这些类型的条件。
提前感谢您的帮助!
答案 0 :(得分:1)
int endX = 200;
点击下面的链接,你会得到@Steve
的区别 #include<stdio.h>
int main()
{
int arr[3] = {2, 3, 4};
char *p;
p = arr;
p = (char*)((int*)(p));
printf("%d, ", *p);
p = (int*)(p+1);
printf("%d", *p);
return 0;
}
答案 1 :(得分:0)
使用三元运算符
var range =
i < 100? "Range1":
i < 150? "Range2":
i < 200? "Range3":
i < 250? "Range4":
i < 300? "Range5":
"Range6";
这只是展示技术的示例。显然,您必须使其适应您的代码目标和适当的范围定义。 (顺便说一句,在您的示例中,使用if- else if
,您的代码错过了值100.您需要确定应包含哪个范围100,并将其中一个不等运算符更改为<=
或>=
。
答案 2 :(得分:0)
你可以通过使用List
的边界来切换构造“句柄”范围:
List<int> bounds = new List<int>() {int.MinValue, 0, 100, 150, 200, 300, int.MaxValue };
switch (bounds.IndexOf(bounds.Last(x => x < j)))
{
case 0: // <=0
break;
case 1: // > 0 and <=100
break;
case 2: // > 100 and <= 150
break;
case 3: // > 150 and <=200
break;
case 4: // > 200 and <=300
break;
case 5: // >300
break;
}
您可能需要在
中添加一些额外的支票