追时间

Yak shaving during web development, thoughts...from Jijie Chen

try..finally还是 try..catch..finally——你的异常处理异常了吗?

 catch用于处理异常,而finally用于运行必须运行的代码,比如回收资源等。
那有人就要问了:finally 里的语句一定会被执行吗?我难道不可以使用何种语句让它不会执行吗?确实会在异常、崩溃时也能执行吗?

我一直这样回答提问者的问题:一定会,无论使用何种语句试图跳出,它都会被正常执行!

下面,我将简单地论证为什么是这样的,以及什么时候 finally 里的语句不会被执行呢?
[更多...]

C#产生不重复的随机数并生成随机文件名

 如果不给 Random 的构造函数传递参数,如果时间相同,即使使用不同的 Random 实例,由于初始化它们的种子(系统时间)是相同的,所以Random 对象的这些实例产生的随机数仍然是相同的。

然而我们确实需要不重复的随机数,生成不重复的随机数(即“随机”的随机数)一直是一个受关注的技术话题。

对于随机数的重复部分,本文介绍几种方法可以方便地解决。

使用 System.IO.File.Exist() 方法即可验证是否已存在相同的文件名,使用一个 while 循环来一直获取随机文件名,直到不与已经存在的文件名相同为止。
[更多...]

利用C#快速地编写属于自己的正则表达式测试小工具

在项目中,经常要用到正则表达式来匹配具有一定规则的字符串。有时候需要检查我们编写的正则表达式是否正确,能否匹配目标字符串,这时我们可能需要一个正则表达式匹配检测的工具了。使用 .Net 可以非常方便地编写这样的一个小工具,然后把它添加进 visual studio 的外部工具列表中,在需要时,很方便就能够调用。

如果需要此工具,请点击这里下载:RegexTestTool.rar (10.02 kb) [更多...]

编程的人本回归:编程要为生活服务

编程直接服务于生活。编程是一个专业的活儿吗?非得专业人士才可以编程吗?本质上来说,编程只是为了解决实际的问题而已——专业的编程只是因为多数人会存在某一方面的需求,然后这些专业编程人士做出适合大部分人需求(或者特定客户)的产品来:专业编程只是所有编程活动的一部分。



编程由人来操作,更服务于人本身。在让IDE服务于别人之前,试着让它服务于你自己,亲身感受一下它的魅力! [更多...]