用HashSet代替List
摘要:.NET3.5多了个HasSetT用来存储集合。从名称可以看出,它是基于Hash的。可以简单理解为没有Value的DictionaryTKey,TValue。HashSetT不能用索引访问,不能存储重复数据,元素T必须正确实现了Equals和GetHashCode。那它的优势是什么呢?检索的性能。简单的说它的Contains方法的性能在大数据量时比ListT好得多。HashSetT的Contains方法复杂度是O(1),ListT的Contains方法复杂度是O(n)。那么,在集合的目的是为了检索的情况下,我们应该使用HashSetT代替ListT。比如一个存储
阅读全文
posted @
2010-12-28 01:52
rooly
阅读(197)
推荐(0)
C#.NET 网络操作类
摘要:using System; using System.Web; using System.Text; using System.IO; using System.Net; using System.Runtime.InteropServices; using System.Web.UI; namespace Pub.Class { /// /// 网络操作类 /// ...
阅读全文
posted @
2010-12-28 01:45
rooly
阅读(333)
推荐(0)
C#.NET 比较好用的ToPinYin
摘要:using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; namespace Pub.Class { public class PinYin { ...
阅读全文
posted @
2010-12-28 01:43
rooly
阅读(2326)
推荐(0)
经过一年时间的沉淀 再次回首 TCP Socket服务器编程 (二) 【转】
摘要:------------------前言------------------发了第一篇文章后,有不少同志留言,看来socket编程仍然是软件系统里面一个比较难的部分。第一篇文章主要介绍了传输协议的设计,这个是整个socket框架最底层基础的部分,接下来整个socket服务器大楼都将在这个协议设计基础上不断搭建出来。这篇文章我主要接上文提出的服务器各个性能参数给出解决思路。-------------------socket服务端接收模块设计-------------------当服务器Accept一个新的socket之后,会对这个socket进行封装,成为一个connection(当然是自定义了
阅读全文
posted @
2010-12-27 10:34
rooly
阅读(242)
推荐(0)
经过一年时间的沉淀 再次回首 TCP Socket服务器编程【转】
摘要:------------------前言------------------开发了这么多年,发现最困难的程序开发就是通讯系统。其他大部分系统,例如CRM/CMS/权限框架/MIS之类的,无论怎么复杂,基本上都能够本地代码本地调试,性能也不太重要。(也许这个就是.net的企业级开发的战略吧)可是来到通讯系统,一切变得困难复杂。原因实在太多了,如:性能永远是第一位:有时候一个if判断都要考虑性能,毕竟要损耗一个CPU指令,而在通讯系统服务器,每秒钟都产生上百万级别的通讯量,这样一个if就浪费了1个毫秒了。 系统环境极其恶劣:所有我们可以想象的恶意攻击、异常输入等都要考虑; 网络说断就断:在sock
阅读全文
posted @
2010-12-27 09:27
rooly
阅读(303)
推荐(0)
TimeSpan属性与方法汇总
摘要:TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值下面的列表涵盖了其中的一部分:Add:与另一个TimeSpan值相加。Days:返回用天数计算的TimeSpan值。Duration:获取TimeSpan的绝对值。Hours:返回用小时计算的TimeSpan值Milliseconds:返回用毫秒计算的TimeSpan值。Minutes:返回用分钟计算的TimeSpan值。Negate:返回当前实例的相反数。Seconds:返回用秒计算的TimeSpan值。Subtract:从中减去另一个TimeSpan值。Ticks:返回TimeSpan值的tick数。TotalDa
阅读全文
posted @
2010-12-20 21:57
rooly
阅读(666)
推荐(0)
C#中MessageBox用法大全(附效果图)
摘要:我们在程序中经常会用到MessageBox。 MessageBox.Show()共有21中重载方法。现将其常见用法总结如下:1.MessageBox.Show("Hello~~~~");最简单的,只显示提示信息。2.MessageBox.Show("There are something wrong!","ERROR");可以给消息框加上标题。3.if (MessageBox.Show("Delete this user?", "Confirm Message", MessageBoxButtons.OKCancel) == DialogResult.OK){ //delete}询问是否删除时
阅读全文
posted @
2010-12-18 16:30
rooly
阅读(97972)
推荐(8)