追时间

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

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

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

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

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

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

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

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

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

.Net 中的正则表达式及其在 Asp.Net 中的应用(基础入门全辑)

正则表达式是一种处理文本的有用工具。无论是验证用户输入、搜索字符串内的模式、还是以各种有效方式重新设置文本格式,正则表达式都非常有用。 Microsoft®.NET Framework 对正则表达式的支持是一流的,甚至在 Microsoft® ASP.NET 中也有依赖正则表达式语言的控件。本文介绍了深入学习正则表达式的基础知识和推荐内容。 本文主要面向对正则表达式知之甚少或没有使用经验,但却熟悉 ASP.NET、可借助 .NET 编程的初学者。 [更多...]

C# 中字符串转义字符及逐字字符串:C#字符串字面量直接赋值

从C语言走过来的我们,对转义字符早已很熟悉了,知道使用各种转义字符来实现输入各种具有特列意义的字符或者其他需要转义的字符。C#允许按常规的转义字符处理的方式来给字符串常量赋值,如果编译器检测到你正在为一个字符串变量赋值,你在其中写的双斜扛将不会被当作注释符。

更加令我们欣喜的是,C#的作者很大方地将字符串赋值这一功能做了十分广阔的扩展:在C#中,我们可以将所有字符直接作为字符串常量的值赋给字符串量,甚至包括了平时在我们看来是一定需要转义的各种字符;要实现这一切仅需要在字符串常量的值前加一个符号“@”,以这种形式赋值的字符串叫做逐字字符串,它后面的所有字符都被逐个地收录到字符串的值中!

本文向您详细地述写了这两种赋值的使用方法。 [更多...]

彻底解决Asp.net 文件下载时文件名的中文乱码和空格异常全球性技术难题

使用 asp.net 向客户端输出文件流时,我却发生了两个问题。1、空格问题  2、中文字符乱码。本文用 C# 代码解决了在目前四种流行浏览器中Asp.net 输出文件流时文件名的空格及中文字符乱码这两个问题。使用本文的代码,你将可以让 IE(Internet Explorer)、Opera、Firefox 及 Chrome 的用户享受到没有乱码且支持空格文件名的文件输出引擎,同时支持文件名中各种常见的符号。



Two Problems occur when we output a file via stream in asp.net: Filename with special symbols(e.g: space; # @ ! $ ) or Non-US-ASCII characters either cannot be supported by some browsers or cause incorrect filename in client machine. This article help you providing perfect filename in the all four popular browsers (IE,that is Internet Explorer; Opera; Firefox and Chrome), even your filename contains Non-US-ASCII characters or & and Spaces; something else can excite you that you can even put any number of special symbols in your filename if you like from now on . [更多...]