我有6个范围:
1000000-5000000
50000001-10000000
10000001-25000000
25000001-50000000
50000001-75000000
75000001-100000000
Run Code Online (Sandbox Code Playgroud)
现在怎么说呢:
var range1 = 1000000-50000000;
var range2 = 50000001-10000000;
int limit = 10000000;
if(limit and range1)
{
result = 10;
}
else if(limit and range2)
{
result = 20;
}
Run Code Online (Sandbox Code Playgroud)
所以我所说的是,如果存在限制和范围1的组合,那么结果是10?我该怎么做?
Ann*_* L. 13
您可以尝试制作一些匿名(或不那么匿名,重用)函数:
Func<int, bool> range1 = i => (1000000 >= i) && (i <= 50000000);
Func<int, bool> range2 = i => (50000001 >= i) && (i <= 10000000);
Func<int, bool> limit = i => i <= 10000000;
var test = 2000000;
if(limit(test) && range1(test))
{
result = 10;
}
else if(limit(test) && range2(test))
{
result = 20;
}
Run Code Online (Sandbox Code Playgroud)