首页 新闻 会员 周边

C# 类似于阶梯计算的问题

0
悬赏园豆:10 [已解决问题] 解决于 2021-11-17 09:48

C# 类似于阶梯计算的问题

一批货物根据发货的数量来赠送物品,规则类似于阶梯电价、例如1-100台赠送1台,101-200赠送2台,赠送的数量进行累加,怎样循环DataTable得到想要的赠送数量,求教下大体的代码。

C#
哎嘿_zx的主页 哎嘿_zx | 初学一级 | 园豆:156
提问于:2021-09-03 09:53
< >
分享
最佳答案
0

建议将这个规则可配置化,如果dataset是一个订单,那发的货就是其中的一个datatable,可以将这个datatable实体化,然后读取config文件里的规则和实体化后的对象进行匹配,最后输出赠品信息,再塞进订单中。

可配置化的优势在于高扩张性。

收获园豆:10
~扎克伯格 | 小虾三级 |园豆:1923 | 2021-09-07 10:51
其他回答(2)
0

这不就是数据分页吗, 什么pageSize,pageCount

兴想事成 | 园豆:540 (小虾三级) | 2021-09-03 15:20
0

简单的做法,直接if判断:
public int GetGiveCounter(int purchCount)
{
int giveCount=0;
if(purchCount<=100)
{
giveCount+=1;
}
if(purchCount<=200)
{
giveCount+=2;
}
return;
}

为了扩展,可以设计一个计算的接口、计算的上下文,可以参考策略模式实现。

cdxy2005 | 园豆:224 (菜鸟二级) | 2021-09-04 10:08

如果每个发货区间赠送的物品是不确定的,并且进行累加的话怎么循环datatable

支持(0) 反对(0) 哎嘿_zx | 园豆:156 (初学一级) | 2021-09-06 08:48

@小白一枚_zx: 定义一个以物品为key 以赠送数量为value的字典;在循环中更新字典的value; 不知道对你的问题理解的对不对。

支持(0) 反对(0) cdxy2005 | 园豆:224 (菜鸟二级) | 2021-09-06 14:57

@cdxy2005: 好的,谢谢

支持(0) 反对(0) 哎嘿_zx | 园豆:156 (初学一级) | 2021-09-06 15:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册