随笔分类 -  C#

上一页 1 2 3

显示ASP.NET页面装载进度
摘要:ASP.NET的web应用越做越大,即便用了AJAX也是要装载很多JS或者外部框架,导致大型应用启动装载很慢。这儿演示了一个类似Splasher的显示ASP.NET页面装载进度的方法。只要继承LoadingNotifier,调用几个JS方法即可。 阅读全文

posted @ 2009-03-24 15:17 Mainz 阅读(1036) 评论(4) 推荐(0) 编辑

实用正则表达式匹配和替换
摘要:正则表达式非常有用,查找、匹配、处理字符串、替换和转换字符串,输入输出等。而且各种语言都支持,例如.NET正则库,JDK正则包, Perl, JavaScript等各种脚本语言都支持正则表达式。下面整理一些常用的正则表达式 ... 阅读全文

posted @ 2009-03-14 12:54 Mainz 阅读(119246) 评论(3) 推荐(8) 编辑

IList(T)转换DataSet
摘要:IList转换成DataSet 阅读全文

posted @ 2009-01-04 11:17 Mainz 阅读(587) 评论(0) 推荐(0) 编辑

读取SQLServer数据库存储过程列表及参数信息
摘要:C#读取数据库存储过程列表: select * from dbo.sysobjects where OBJECTPROPERTY(id, N'IsProcedure') = 1 order by name... 阅读全文

posted @ 2008-11-23 16:52 Mainz 阅读(4162) 评论(8) 推荐(0) 编辑

Windows系统单个进程最多线程数2000个?
摘要:在Windows下写个程序,一个进程Fork出2000个左右线程就会异常退出了,为什么? 这个问题的产生是因为windows32位系统,一个进程所能使用的最大虚拟内存为2G,而一个线程的默认线程栈StackSize为1024K(1M),这样当线程数量逼近2000时,2000*1024K=2G(大约),内存资源就相当于耗尽。 阅读全文

posted @ 2008-09-23 20:35 Mainz 阅读(3827) 评论(0) 推荐(0) 编辑

无缩进的XML字符串的处理
摘要:加上缩进,输出xml字符串,代码: using System.Xml;using System.Text; /// /// Format xml string without indent /// to xml string with indent /// /// xml string without indent /// xml string with indent private strin... 阅读全文

posted @ 2008-05-02 13:20 Mainz 阅读(670) 评论(0) 推荐(0) 编辑

Tail -f
摘要:用C#写了一个Tail -f 类似的小工具,用法说明:1. 编辑runTail.bat文件,修改路径和需要跟踪的文件路径和名称 2. 运行runTail.bat 阅读全文

posted @ 2008-04-30 12:59 Mainz 阅读(353) 评论(0) 推荐(0) 编辑

Array.Sort和快速排序
摘要:最近测试了一个自己写的快速排序,和System.Array.Sort做了个性能对比,发现System.Array.Sort比自己写的排序算法要快很多,拿20W和1000W随机数来测试效率相差40%左右。微软MSDN上对System.Array.Sort的说明:“Array 中的每个元素均必须实现 IComparable 接口,才能与 array 中的其他所有元素进行比较。 如果排序不能成功地完成,则结果未定义。此方法使用 QuickSort 算法。此实现执行不稳定排序;亦即,如果两元素相等,则其顺序可能不被保留。相反,稳定排序保留相等元素的顺序。 一般情况下,此方法的运算复杂度为 O(n log n),其中 n 是 array 的 Length;最坏的情况下其运算复杂度为 O(n ^ 2)。” 阅读全文

posted @ 2008-04-22 13:06 Mainz 阅读(4661) 评论(10) 推荐(1) 编辑

反序列化的性能(Deserialization Performance)
摘要:反序列化xml配置文件到一个实体类,和直接读取xml到实体类相比,效率对比相当大,我简单测试了一下,各自占用的时间: 反序列化需要的时间是直接读取xml的几十倍。由此可见,反序列化的性能很差,占用时间非常大。在简洁代码的背后是效率的代价。应该根据需要按需选择。尤其是在系统启动的时候尽量避免Deserialization。最后分析了使用XSD装载XML,并反序列化到实体类的例子。 阅读全文

posted @ 2008-04-16 11:24 Mainz 阅读(1479) 评论(0) 推荐(0) 编辑

[转]关于多线程并发:每个开发人员都应了解的内容
摘要:现在多处理器计算机正在普及,很快,非多线程程序将处于劣势,因为它们无法利用可用计算资源中很大的一部分。 不幸的是,编写正确的多线程程序并不容易。这主要是因为程序员们还没有习惯“其他线程可能正在改变不属于它们下面的内存”这种思维方式。更糟糕的是,出现错误时,程序在绝大多数时候会继续运行下去。只有在有压力(正式运行)条件下,Bug 才会显示出来;发生故障时,极少有足够的信息可供有效地调试应用程序。本文讨论多线程和共享内存线程模型,争用及并发访问如何能够打破不变量,作为争用标准解决方案的锁定,何时需要锁定,如何使用锁定;理解开销,锁定如何能够各行其道。 阅读全文

posted @ 2008-04-13 21:11 Mainz 阅读(5279) 评论(0) 推荐(1) 编辑

记录log中的16进制和ASCII码字符输出
摘要:写通信程序常常需要把发出和收到的包记录到log文件,而最常用的记录方式就是16进制和ASCII码左右对照的方式 阅读全文

posted @ 2008-04-11 12:32 Mainz 阅读(1483) 评论(0) 推荐(0) 编辑

C#集合类(HashTable, Dictionary, ArrayList)与HashTable线程安全
摘要:HashTable中的key/value均为object类型,由包含集合元素的存储桶组成。存储桶是 HashTable中各元素的虚拟子组,与大多数集合中进行的搜索和检索相比,存储桶可令搜索和检索更为便捷。每一存储桶都与一个哈希代码关联,该哈希代码是使用哈希函数生成的并基于该元素的键。HashTable的优点就在于其索引的方式,速度非常快。如果以任意类型键值访问其中元素会快于其他集合,特别是当数据量特别大的时候,效率差别尤其大。 阅读全文

posted @ 2008-04-06 13:50 Mainz 阅读(10178) 评论(2) 推荐(1) 编辑

AppDomain以及如何改变web.config / App.config位置
摘要:AppDomain (应用程序域) 是.NET框架独有的概念。找不到其他技术体系中贴切的参照概念,是微软自己的东西。AppDomain,它是一个应用程序在其中执行的独立环境,为执行托管代码提供隔离、卸载和安全边界。本文还讨论了如何创建和卸载应用程序域,哪些情况下需要使用应用程序域,如何改变应用程序域的属性,以及如何改变web.config / App.config位置。 阅读全文

posted @ 2008-04-03 10:47 Mainz 阅读(2936) 评论(1) 推荐(0) 编辑

上一页 1 2 3

导航