巧用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,控制反转/依赖注入)模式是一种企业级架构模式,通过将应用程序控制权反转交移给框架,并以构造器注入.属性设置 ...
最新文章
- 【SSM框架系列】SpringMVC的文件上传、拦截器及异常处理
- 【机器学习算法-python实现】PCA 主成分分析、降维
- Hadoop-MapReduce 入门
- linux设置时间为24小时制,设置时区
- 下列描述中 哪些符合java语言的特征_coreJavaBasic试题带答案
- jQuery常用语法笔记
- adb工具的下载及配置
- LibFetion v0.2.0版发布
- 开源H5盲盒商城源码系统4.0-vue+TP5php框架开发开源网站
- matlab保存m文件是什么意思,在Matlab中怎样把一个程序保存为一个.m文件
- 简述计算机病毒的传播4种途径,4计算机病毒的传播途径.ppt
- MySQL获取汉字的拼音首字母并过滤字母符号数字
- web.xml不同版本的头
- 搭建安卓打包环境,用官方示例anysdk生成apk运行
- 《使用IEC61499为控制系统建模》-第一章 概述
- 敏捷管理 -- 时间和成本管理
- 2022支付宝集五福 生肖卡添福红包活动攻略
- 自动化攻击背景下的过去、现在与未来
- 电磁场知识回顾——重要方程,定理
- input onchange事件
热门文章
- Java面向对象----抽象类
- Riemann映射定理
- [转]OOPC:Object-Oriented Programming in C
- 关于java加壳和代码混淆
- 服务器租用的6大安全知识分析
- C++ traits学习笔记(一)
- [Linux]磁盘端口I/O
- python自然语言理解_python自然语言处理——1.5 自动理解自然语言
- feathers mysql_Go 语言操作 MySQL 之 CURD 操作
- 动态修改服务器配置文件,asp.net(c#)动态修改webservice的地址和端口(动态修改配置文件)...