随笔分类 -  Efficient C#

摘要:好吧,我承认,这是一个反标题,实际的情况是:我找不到一个非用ICloneable不可的理由。事实上,接口ICloneable还会带来误解,因为它只有一个Clone方法。我们都知道,对象的拷贝分为:浅拷贝和深拷贝。ICloneable仅有一个Clone方法使我们无法从命名的角度去区分到底是哪个拷贝。浅... 阅读全文
posted @ 2011-02-02 10:35 陆敏技 阅读(14994) 评论(19) 推荐(8) 编辑
摘要:C#中异常使用的注意事项一:两个立足点 1:正常控制流程下的代码运行并不会带来问题,只有引发异常才会带来效率问题。 2:不应将异常机制用于正常控制流中。二:需要引发异常的四类情况第一类情况是:如果运行代码后,造成内存泄漏、资源不可用或应用程序状态不可恢复,则引发异常。Console这个类中,有很多类似这样的代码:[代码]Console这个类虽然也提供了Tester-Doer模式,让调用者可以有更多的方法来验证输入。但是永远不要保证调用者对你的类有足够的了解,他有可能调用你的任何公开方法,而不会考虑先后顺序;所以应该为这类方法引发一些必要的异常。但是,如果你自己写了一个Student业务类 阅读全文
posted @ 2011-01-08 11:43 陆敏技 阅读(6079) 评论(7) 推荐(3) 编辑
摘要:C#资源释放及Dispose、Close和析构方法备注:此文的部分观点有误,之所以仍旧保留本文,是需要在后期给出一个勘误版。正确的版本在这里“C#中标准Dispose模式的实现”一:什么是资源在开始本文前,需要一些准备知识。首先要提出“什么是资源”。在CLR出来之后,Windows系统资源开始分为“非托管资源”和“托管资源”。 非托管资源是指:所有的Window内核对象(句柄)都是非托管资源,如对于Stream,数据库连接,GDI+的相关对象,还有Com对象等等,这些资源并不是受到CLR管理; 托管资源是指:由CLR管理分配和释放的资源,即由CLR里new出来的对象。其次再来讲,资源的释放方式 阅读全文
posted @ 2011-01-05 16:35 陆敏技 阅读(54619) 评论(30) 推荐(9) 编辑
摘要:异常处理之ThreadException、unhandledException及多线程异常处理一:ThreadException和unhandledException的区别 处理未捕获的异常是每个应用程序起码有的功能,C#在AppDomain提供了UnhandledException 事件来接收未捕... 阅读全文
posted @ 2011-01-05 09:43 陆敏技 阅读(27785) 评论(14) 推荐(23) 编辑
摘要:最近做一题关于泛型返回值的题,结果发现:1:很多人做错误了;2:很多人疑问,泛型作为返回值有什么意义;题目如下:“编写一个函数,要求输入的参数和输出的结果都是泛型。”(PS:评论中有人指出,题目本身有问题,更合适的描述是:编写一个函数,要求输入参数和返回值的类型都是泛型类型参数)典型的错误回答之一:典型的错误回答之二:关于错误回答1,是因为一想到泛型,很多人便想到集合,没错... 阅读全文
posted @ 2010-11-08 15:14 陆敏技 阅读(11768) 评论(17) 推荐(2) 编辑

Web Counter
Coupon for Contacts
点击右上角即可分享
微信分享提示