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

自己的网站怎么做app广西壮族自治区免费百度推广

自己的网站怎么做app,广西壮族自治区免费百度推广,郑州直播网站建设公司,软件开发者马工撰写的年入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/133195.html

相关文章:

  • 茶文化网站制作怎么买域名自己做网站
  • wordpress 插件 慢seo优化行业
  • 第五冶金建设公司职工大学网站百度旗下的所有产品
  • 青岛的网站设计公司靠网络营销火起来的企业
  • 真人做爰视频网站免费下载seo学堂
  • 送网站建设谷歌海外广告投放
  • 陕西整站关键词自然排名优化关闭站长工具seo综合查询
  • 门户网站的建设与维护详情页设计
  • wallbase wordpressseo专业培训机构
  • 网站建设意义模板seo关键词排名软件流量词
  • 创可贴在线设计网站百度一下 你就知道首页
  • 在阿里云做网站教程南昌seo全网营销
  • 林萌荣温州市网页制作徐州seo建站
  • 浙江省网站重点学科建设百度关键词购买
  • 企业网站推广怎么做网站赚钱
  • 网站建设试用百度知道首页登录
  • 郑州做网站建设如何在google上免费推广
  • 宗学华 网站建设seo信息网
  • 北京网站开发网站建设报价盘古百度推广靠谱吗
  • 服务器网站怎么用网络营销和传统营销有什么区别
  • 单仁营销网站的建设徐州seo排名公司
  • 衣联网和一起做网站。哪家强it学校培训学校哪个好
  • 新浪网站是什么程序做的查淘宝关键词排名软件有哪些
  • 服装网站建设建议郑州seo培训
  • 怎么创建一个网站做草根站长海外营销方案
  • 深圳网站制作google免登录网页版
  • 网站建设百度云友情链接平台网站
  • html标签代码大全微博seo营销
  • 网站建设费用多少钱如何制作网址
  • 万网网站建设步骤百度推广助手客户端