当前位置: 首页 > wzjs >正文

东莞做网站找微客巴巴网站服务器一年的费用

东莞做网站找微客巴巴,网站服务器一年的费用,网站服务器配置要求,做浏览单的网站有哪些马工撰写的年入30万C#上位机项目实战必备教程(点击下方链接即可访问文章目录) 1、《C#串口通信从入门到精通》 2、《C#与PLC通信从入门到精通 》 3、《C# Modbus通信从入门到精通》 4、《C#Socket通信从入门到精通 》 5、《C# MES通信从入门到精通》 6、…

马工撰写的年入30万+C#上位机项目实战必备教程(点击下方链接即可访问文章目录)

1、《C#串口通信从入门到精通》
2、《C#与PLC通信从入门到精通 》
3、《C# Modbus通信从入门到精通》
4、《C#Socket通信从入门到精通 》
5、《C# MES通信从入门到精通》
6、《winform控件从入门到精通》
7、《C#操作MySql数据库从入门到精通》

以上教程CSDN订阅已超过2000+~

前言:

大家好,我是上位机马工,硕士毕业4年年入40万,目前在一家自动化公司担任软件经理,从事C#上位机软件开发8年以上!我们在开发C#程序的时候,有时候遇到一些非常多的数据需要处理,尤其是我们要对一个集合中的数据做相同操作,这个集合中又包含了多个数据,我们一般使用for循环对集合中的每个数据分别处理,这样处理起来可能需要花费很多的时间,那么有没有能够优化这个处理时间的方法呢,本文就来帮助大家解决这个问题!

1、传统foreach循环处理

下面的代码中使用Initialtest方法首先从本地读取一个文件名叫 "苹果.jpeg"的图像,然后使用gdi技术复制这个图像200遍,然后把这200个图像存到ImageParamList 这个集合中,然后我们把这200个图像保存到本地电脑中,由于图像数据比较多,所以保存起来的速度比较慢,比如我这里定义了一个SavaImage方法,该方法使用foreach循环将ImageParamList 集合中200个图像分别保存,在我的电脑上使用了差不多20秒,

 public partial class Form1 : Form{public Form1(){InitializeComponent();Initialtest();}private void Initialtest(){List<ImageParam> ImageParamList = new List<ImageParam>();for (int i = 0; i < 200; i++){string fileName = "苹果.jpeg";using (FileStream fs = new FileStream(fileName, FileMode.Open)){ImageParam imageParam = new ImageParam();Bitmap bitmap = new Bitmap(fs);Bitmap newBitmap = new Bitmap(bitmap.Width, bitmap.Height);Graphics g = Graphics.FromImage(newBitmap);g.DrawImage(bitmap, new Point(0, 0));bitmap.Dispose();imageParam.Index = i;imageParam.img = newBitmap;ImageParamList.Add(imageParam);}}DateTime startTime = DateTime.Now;SavaImage(ImageParamList);DateTime endTime = DateTime.Now;double diffTime = (endTime - startTime).TotalMilliseconds;Console.WriteLine(diffTime);}private void SavaImage(List<ImageParam> ImageParamList){foreach (var item in ImageParamList){string fileName = $"{item.Index }.bmp";item.img.Save(fileName);}}private void SavaImageParallel(List<ImageParam> ImageParamList){ImageParamList.AsParallel().ForAll(item => {string fileName = $"{item.Index }.bmp";item.img.Save(fileName);});}}class ImageParam{public int Index { get; set; }public Bitmap img;}

2、并行处理

为了加快图像保存的速度,我们使用C#中的并行计算功能,所谓并行计算在C#中其实使用了多个线程同时对集合中的数据进行处理,这样能够充分利用电脑资源来加速对集合数据的处理,我这里定义了一个SavaImageParallel方法,对集合调用AsParallel().ForAll(),这个ForAll里面传入的是一个委托,这样就能实现并行处理,经过实际测试SavaImageParallel使用并行处理后,200个图像存储到本地只需要3秒,快了7倍左右,堪称程序性能优化的神器,兄弟们快在项目中用起来吧!

 private void SavaImageParallel(List<ImageParam> ImageParamList){ImageParamList.AsParallel().ForAll(item => {string fileName = $"{item.Index }.bmp";item.img.Save(fileName);});}

马工撰写的年入30万+C#上位机项目实战必备教程(点击下方链接即可访问文章目录)

1、《C#串口通信从入门到精通》
2、《C#与PLC通信从入门到精通 》
3、《C# Modbus通信从入门到精通》
4、《C#Socket通信从入门到精通 》
5、《C# MES通信从入门到精通》
6、《winform控件从入门到精通》
7、《C#操作MySql数据库从入门到精通》

http://www.dtcms.com/wzjs/5883.html

相关文章:

  • 双井网站建设2023年6月份疫情严重吗
  • 可以随意做配搭的网站广州企业推广
  • wordpress.备份小时seo
  • 为什么做手机网站专业竞价托管哪家好
  • 做模特的网站软文例文 经典软文范例
  • 行业前10的网站建设公司seo专员岗位要求
  • 哪个购物网站最便宜郑州网络推广效果
  • 58南浔做网站网站怎么快速收录
  • 青浦专业做网站公司北京关键词快速排名
  • 国外知名设计网站大全百度收录检测
  • wix网站做图片能折叠吗郑州网站推广多少钱
  • 徐州做网站宁波seo优化排名
  • 全网媒体发布平台seo网站整站优化
  • 大气网站首页企业网络营销推广平台
  • 动态网站建设包括哪些方面郑州专业seo推荐
  • 京东商城网站怎么做最新国际新闻头条今日国际大事件
  • 做初级会计实务题的网站无锡营销型网站建站
  • 两学一做网站无法做题seo需要掌握什么技能
  • wordpress页面文章网站seo分析案例
  • kilu wordpress长沙seo代理
  • 企业网站一般用什么域名一站式网站建设
  • 珠海网站运营西安疫情最新数据消息5分钟前
  • 做网站优化有什么作用济南seo网站关键词排名
  • 哪家建设网站好湖南seo优化报价
  • 江苏连云港做网站9个广州seo推广神技
  • 动态网页模板下载外链seo招聘
  • 网上电影网站怎么做的百度app打开
  • 沈阳企业网站排名优化吴江seo网站优化软件
  • asp电影网站源码关键词组合工具
  • 装修公司电话号码大全肇庆seo外包公司