巧用DictionaryTKey,TValue,完成客户需求
前几天与客户沟通一个项目,客户对其中某个模块提了一个需求。
把从数据库中取出的对物品的统计重新拆分重新统计。鉴于用文字不能清除的表达需求,我将该需求画出来,便于理解。
需求如下图:
就是A,B,C D,四种不同的物品原来是组合统计的,现将其拆分开来各自统计。
我刚开始想着是:通过SQL语句,进行逻辑处理,完成该项需求,想了半天,不得要领。
后来看到导师运用:Dictionary<TKey,TValue>完美将这个需求实现,我受益颇深,故总结其思路,给大家呈现出来。
废话不多说了,开始解决:
1.执行查询语句,从数据库中取出数据,返回 OracleDataReader
OracleDataReader odr = (此处为从数据库中获取数据的代码,省略)。
2.定义两个Dictionary(string,int)集合
Dictionary<string,int> dicSrc = new Dictionary<string,int>();//用来存储原集合
Dictionary<string,int> dicParse = new Dictionary<string,int>();//用来存储目标集合
3.逻辑实现
while(odr.Read())
{
//将原数据表中的物品,数量取出,按键值对放入到集合dicSrc中
dicSrc.Add(ord["物品"].ToString(),int.Parse(odr["数量"].ToString()));
}
odr.Close();
foreach(KeyValuePair<string,int> dic in dicSrc)//循环原集合
{
string[] thickness = dic.Key.Split(new char[] {'+'});拆解集合项,并放入到字符串集合,如A+B=>A,B
foreach (string str in thickness)//循环字符串集合
{
if(dicParse.Keys.Contains(str))//获取的物品已存在目标集合中
{
//更新物品数量 = 原数量 + 新添加的数量
dicParse[str] = dicParse[str] + dic.value
}
else
{
//将键值对的值加入到目标集合中
dicParse.Add(str,dic.Value);
}
}
}
经过以上处理,便可将原数据整理成为客户所需求的数据(dicParse)。
以上方法只是核心代码,其他代码不做陈述,望各位看官理解。希望这个思想能帮到大家。
知识点滴:
转载于:https://www.cnblogs.com/txqx/p/8487747.html
巧用DictionaryTKey,TValue,完成客户需求相关推荐
- 利用SAP FR高效预测客户需求
利用SAP F&R高效预测客户需求 SAP F&R的精确预测功能可以提供客户需求的信息,这使得灵活的协调供需成为可能.这是事实,而非来自估计和经验. 预测客户需求是零售业面临的最大挑战 ...
- 客户需求分析8个维度_CRM准确数据分析,把控客户需求
在大数据时代,CRM逐渐被企业认同并成为企业管理的重要工具.CRM在销售和管理上,有着无可比拟的优势,它借助大数据的发展潮流,让数据的智能分析成为可能. CRM无疑是企业有效的销售工具,为企业做出准确 ...
- 项目管理中的客户需求变更时需求分析和解决方法
一.令人烦恼的需求变更 作为一个软件项目经理,在项目开发进行中,你是否遇到过这样的问题:客户的一个电话,就推翻了之前你与客户.与你自己的开发团队,经过再三讨论而确认定下来的需求.之后你就重新开始了和客 ...
- 微信小程序现实问题之低素质客户需求问题
·微信小程序已经在市场摸爬滚打很久了,但是真正是否可用以及是否真正满足客户需求,市场是否真正到了火热的程度,值得怀疑. 根据本人从事小程序开发的经验,短时间内,小程序市场依然会不温不火,而此时客户的满 ...
- UCloud裴志伟:最小价值模型,技术迭代与客户需求可以达成平衡
LiveVideoStack有幸采访了UCloud互联网事业部产品中心总监裴志伟,采访中裴总介绍了UCloud核心产品Rome的前世今生,就网络加速的现状和行业需求进行了深入探讨,表明了对技术和行业的 ...
- 企业是否应该实现对客户需求的快速响应_如何做好企业服务?
2018 年,企业级服务仍处于高速增长时期. 经过几年的市场洗礼后,企业级服务的市场格局正在逐步明朗.无论是垂直型还是通用型的企业级服务厂商,公司发展核心问题主要围绕客户满意度.产品成熟度.企业健康度 ...
- 2021年客户需求的新变化,带来了对程序员能力要求的新高度
2021年已经来到了,回顾过去的一年,可以感受到从国家到企业.大到生产制造小到个人生活,对IT行业给予的期望和要求都比以往任何一年来得要高.要迫切.虽然还是通过编码完成客户的需求,但是对从事IT行业人 ...
- 企业是否应该实现对客户需求的快速响应_为什么说数据中台是企业数字化转型的基石?...
要回答这个问题,我们先看企业数字化转型的内涵到底是什么? 数字化转型后企业应实现以下四个目标: 一.实现真正扁平化的高效决策 通过数字化.智能化的模型支持,提升业务决策精度和效率,从而把决策权赋予更小 ...
- 大哥你需求里说只要工作流引擎组件,怎么真正需要的东西这么.悲剧了,客户需求无止境...
大哥你需求里说只要工作流引擎组件[行政审批流程组件],怎么真正需要的东西这么....悲剧了,客户需求无止境 最近有个广东的大客户,需要一个工作流引擎,主要用户单位内部的行政审批系统,单位要进行无纸化办 ...
- 在X++中使用IoC/DI模式应对不断变化的客户需求
IoC/DI(Inverse of Control/Dependency Injection,控制反转/依赖注入)模式是一种企业级架构模式,通过将应用程序控制权反转交移给框架,并以构造器注入.属性设置 ...
最新文章
- Git复习(一)之简介、安装、集中式和分布式
- 通用的Java hashCode重写方案
- PHPCMS V9.3.2用户注册模板中的一个低级Bug
- pipline中替换tag变量
- 句子相似度--余弦相似度算法的实现
- 【牛客 - 551E】CSL 的魔法(贪心,思维,STLmap,分块)
- HaspMap 多线程下 resize 死循环
- Queue.ArrayBlockQueue
- java 注解(annotation)基础学习
- 深度学习实践与部署(开篇)
- 在 Mac 上如何使用鼠标键来控制指针?
- Lucene创建索引和搜索索引
- python识别图片文字
- python列表append方法_Python列表append()方法
- python爬虫去重_Python网络爬虫(7):URL去重
- 可能是最强的Python可视化神器,建议一试
- 数学之美:数学究竟是如何深入我们的生活
- 基因工程-3-基因工程载体
- 沟通修炼 I型沟通-U型沟通
- Linux之搭建chrony时钟同步服务
热门文章
- 005-垃圾收集算法
- Error connecting to database: No such file or directory
- Ubuntu 携手初创企业用代码开拓物联网
- 动态设置control的显示与隐藏
- sap gui java_不喜欢SAP GUI?那试试用Eclipse进行ABAP开发吧
- ZeroMQ -- 四种模型简介
- vsftpd安装配置_vsftpd上传文件大小为0(主动模式)
- async spring 默认线程池_springboot中@Async默认线程池导致OOM问题
- 三菱mode bus tcp通讯_微服务中的异步消息通讯和事件驱动,你了解多少?
- 【渝粤题库】陕西师范大学290001 计算机网络