首页 > 编程语言 >c# for循环下使用try catch导致性能问题

c# for循环下使用try catch导致性能问题

时间:2023-12-21 14:34:11浏览次数:40  
标签:temp c# Qty try ritem 循环 catch

在for循环里,有8w数据,结果需要10+分钟才遍历完(生产环境下),结果发现导致耗时的代码如下

try {
    ritem.Qty = Convert.ToDecimal(value);
} catch(Exception e) {
    Logger.Info(e.ToString());
    ritem.Qty = 0;
}

将以上代码修改为如下后,执行需要20秒。因为每次异常被抛出时,都会有额外的开销用于构建异常对象和执行异常处理逻辑。如果在每次循环迭代中都发生异常,这些额外的开销会累积并严重影响性能。

decimal temp = 0;
decimal.TryParse(value, out temp);
ritem.Qty = temp;

标签:temp,c#,Qty,try,ritem,循环,catch
From: https://www.cnblogs.com/hwxing/p/17918964.html

相关文章

  • # cesium 截取图片
    cesium截取图片没啥好说的,直接贴代码吧 toImg(){if(viewer){viewer.scene.render();letcanvas=viewer.scene.canvas;letimage=canvas.toDataURL("image/png").replace("image/png","image/octet-stream");......
  • Jackson给给指定类设置序列化规则
    背景业务中需要对返回给APP端的数据进行特殊处理,包括:null值转换成空字符串日期(LocalDateTime)类型转换成时间戳金额根据用户Locale做格式化需要保证不影响内部其他服务的互相调用,因此让所有返回给APP的VO对象实现自定义的Vo接口,然后指定对Vo接口的类进行对应的转换。实现co......
  • 嵌入式教程_DSP教学实验箱操作:5-14 灰度图像二值化(LCD显示)
    一、实验目的学习灰度图像二值化的原理,掌握图像的读取方法,并实现在LCD上显示二值化前后的图像。二、实验原理图像二值化图像的二值化处理就是将图像上的点的灰度置为0或255,也就是将整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可......
  • Camstar表格的列和列的联动-----一个列填完后,加载另一个列的值或者下拉选
    列子(我是建模加的表格): mdb部分修改: VP部分修改:     其他:我看到mdb有个方法,List的Field,转成下拉的格式Resultset。按需求使用。 ......
  • 工业etherCat转RS232网关在物流行业的应用方式
    在物流行业,etherCat转RS232网关的应用无疑为仓储管理带来了革命性的变革。etherCat转RS232网关网关技术不仅提高了数据传输的速度和准确性,还为物流设备之间的协同工作提供了强大的支持。 etherCat转RS232网关在物流行业应用的详细描述:etherCat转RS232网关在实时监测方面的应用......
  • 用C#也能做机器学习?
    前言✨说到机器学习,大家可能都不陌生,但是用C#来做机器学习,可能很多人还第一次听说。其实在C#中基于ML.NET也是可以做机器学习的,这种方式比较适合.NET程序员在项目中集成机器学习模型,不太适合专门学习机器学习,本文我将基于ML.NETModelBuilder(低代码、入门简单)构建一个猫狗识别......
  • 《Java架构师的第一性原理》31分布式计算之微服务RPC(Dubbo)
    1 互联网架构,究竟为啥要做服务化互联网架构,究竟为啥要做服务化?2 微服务架构,多“微”才合适?微服务架构,多“微”才合适? 3 离不开的微服务架构,脱不开的RPC细节离不开的微服务架构,脱不开的RPC细节3.1服务化解决的问题1)服务化需要解决的问题:一套序列化、反序列化、网络框......
  • 前端导出export2Excel-多级表头
    1,export2Excel.js/*eslint-disable*///import{saveAs}from"file-saver";constsaveAs=require("file-saver");//importXLSXfrom"xlsx";importXLSXfrom"yxg-xlsx-style";importmomentfrom"moment&qu......
  • class080 状压dp-上【算法】
    class080状压dp-上【算法】算法讲解080【必备】状压dp-上Code1464.我能赢吗//我能赢吗//给定两个整数n和m//两个玩家可以轮流从公共整数池中抽取从1到n的整数(不放回)//抽取的整数会累加起来(两个玩家都算)//谁在自己的回合让累加和>=m,谁获胜//若先出手的玩家能稳赢则......
  • class083 动态规划中用观察优化枚举的技巧-下【算法】
    class083动态规划中用观察优化枚举的技巧-下【算法】算法讲解083【必备】动态规划中用观察优化枚举的技巧-下code11235.规划兼职工作//规划兼职工作//你打算利用空闲时间来做兼职工作赚些零花钱,这里有n份兼职工作//每份工作预计从startTime[i]开始、endTime[i]结束,报酬为pr......