2014年8月1日

详解C# 迭代器

摘要: 迭代器模式是设计模式中行为模式(behavioral pattern)的一个例子,他是一种简化对象间通讯的模式,也是一种非常容易理解和使用的模式。简单来说,迭代器模式使得你能够获取到序列中的所有元素而不用关心是其类型是array,list,linked list或者是其他什么序列结构。这一点使得... 阅读全文

posted @ 2014-08-01 10:28 dhk000 阅读(4388) 评论(0) 推荐(1) 编辑

2014年7月31日

基类中的虚方法到底有什么作用?

摘要: 只有基类的方法加上关键字virtual后才可以被override,从而实现面向对象最重要的特征--多态性,即基类可以使用派生类的方法.C#中指出:普通的方法重载:指的是类中两个以上的方法(包括隐藏的,继承而来的方法)取的名字相同,只要使用的参数类型或者参数个数不同,编译器便知道在何种情况下应该调用哪... 阅读全文

posted @ 2014-07-31 14:16 dhk000 阅读(1766) 评论(2) 推荐(0) 编辑

2014年7月30日

判断字符串中是否包含中文

摘要: public bool CheckChinese(string str) { bool flag = false; UnicodeEncoding a = new UnicodeEncoding(); byte[] b ... 阅读全文

posted @ 2014-07-30 17:03 dhk000 阅读(491) 评论(0) 推荐(0) 编辑

2014年7月28日

为何需要创建线程

摘要: 个人以为是为了提高CPU利用率。线程给操作系统带来的创建维护和管理负担要轻。因为与线程相关的信息比较少,交情的负担意味着线程的代价或开销比较少。当处理器除一个进程并激活另一个进程时,就要发生上下文切换。为了发生上下文切换,操作系统必须启动和重新启动每个进程所需的信息。这就意味着必须保存描述进程存在状... 阅读全文

posted @ 2014-07-28 14:47 dhk000 阅读(1139) 评论(0) 推荐(0) 编辑

2014年7月27日

结合反射技术实现多算法动态加密

摘要: 这个题目,我姑且这样叫吧,照例,我们先来分析一下需求。比如有一个设置密码的功能,但用户希望能够自己选择密码的加密算法,如MD5、HMAC、SHA1等,然后程序会根据用户所选择的算法对密码进行加密并存入数据库,同时在配置文件中记录下用户的选择。按照一般的思路,我们可能会做一个分支判断,如[csharp... 阅读全文

posted @ 2014-07-27 11:16 dhk000 阅读(207) 评论(0) 推荐(1) 编辑

导航