C# async await 并行执行多任务

.NET 4.5之后版本提供了async 和 await关键字,让多线程的实现优雅了许多.尤其是网络通信时,妈妈再也不用担心我的程序界面会假死啦!~ 最近我一直在做一个网页抓取的程序,已经采集到了一大批要抓取的url存在了数据库中,目前单线程吭哧吭哧一天也抓不完几个. 便想到让await并行执行,在C#圣经上看了这一章,但是并没有提到如何让await并行执行,只好自己动手测试.   经过几番尝试,最终可用的demo代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Threading; namespace MultiAsyncTest1 { public partial […]

Ubuntu 在 Vmware Player中访问主机共享文件夹

首先,安装VMWare Tools,安装步骤参考官网的知识库(http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1022525) 这篇文章写的十分详细,如果可以访问youtube,还可以发现页面上有一个720p的教程视频,看不到视频也没关系,看文字说明也足够了. 摘抄安装步骤如下 Ubuntu or Ubuntu Server with a graphical user interface To mount the CD image and extract the contents: Power on the virtual machine. Log in to the virtual machine using an account with administrator or root privileges. Select: For Fusion: Virtual Machine > Install VMware Tools. […]

C# WinForm 文本框自动滚动

方案一: textBox1.AppendText("要显示的文本" + Environment.NewLine);     方案二: textBox1.Text += "要显示的文本" + Environment.NewLine; //下方将进度条滚动到最后,应当在每一次textBox1.Text +=后都要添加下方语句 textBox1.SelectionStart = textBox1.TextLength; textBox1.ScrollToCaret(); 总体来说,第一种比较简单方便. 第二种方案由于使用了 += 运算,可能每次都将光标(Caret)移动到了文本的开头,使用第二种方法在实际过程中会看到垂直滚动条突然跳到最前的位置,然后立即跳到最后. 建议采用第一种方案 原创文章,转载请注明: 转载自张哲的博客本文链接地址: C# WinForm 文本框自动滚动

C# System子空间无法使用(解决方案)

首先,这个题目起的我也不知所云,但是作为一个初学者,确实不知道该怎么表述。 具体情况是在学习使用System.Net.Http.HttpClient的时候,需要使用System.Net.Http命名空间,可是我在实操的时候,根本找不到Http这个子空间(我也不知道有没有子空间这个术语,反正就这么个意思吧)。 检查了使用的.Net的版本,是4.5无误,为保险起见又切换成了4.5.1了,依然没有。   解决方法: 项目-->添加引用-->见下图   (喵了个咪的,原来System空间的一些功能还要自己添加引用的,我果然是新手啊。。) 原创文章,转载请注明: 转载自张哲的博客本文链接地址: C# System子空间无法使用(解决方案)