我在数据库中保存的每个月都有可变数量的事务。我必须根据0-100交易结构计算付款,每笔交易1欧元,每个101-200欧元,201欧元每个3欧元等等。前100笔交易我将支付100欧元,接下来的100笔交易我将以这种方式支付200欧元。直到这里对我来说很容易,问题变成因为阈值的数量(在前面的例子中是3),可以是变量,有时是3,其他时间可以是2,4,5或其他。这些阈值存储在数据库的表中。请有人帮助我。提前谢谢。
答案 0 :(得分:0)
对于数据库中的每个阈值,您将得到一个LOWER和UPPER界限以及Price(0,100,1),(101,200,2),(201,300,3)。
将阈值加载到List中,每个成员包含lower,upper和price
List<int[]> thresholds = new List<int[]>
thresholds.Add(new int[]{0,100,1});
thresholds.Add(new int[]{101,200,2);//etc.
private void calculateTotal(int numberSold){
int total =0;
foreach(int[] bound in thresholds){
if(numberSold>=bound[0]&&numberSold<=bound[1]{
total+= bound[2]*numberSold;
}
}
return total;
}
根据你有限的问题,我能为你做的最好的事情。玩这个,如果您遇到问题,请根据您创建的代码和您遇到的具体问题询问具体问题。