2017年6月15日
摘要: 很容易调用 ThreadPool 的 QueueUserWorkItem 方法发起一次异步计算限制操作。但这个技术有许多限制。最大的问题是没有内建的机制让你知道操作在什么时候完成,也没有机制在操作完成时获得返回值。为了克服这些限制(并解决其他一些问题),Microsoft 引入了任务的概念。 阅读全文
posted @ 2017-06-15 15:03 linwenda 阅读(105) 评论(0) 推荐(0) 编辑
  2017年6月13日
摘要: C#中的深复制和浅复制(在C#中克隆对象) 阅读全文
posted @ 2017-06-13 18:52 linwenda 阅读(194) 评论(0) 推荐(0) 编辑
  2017年6月7日
摘要: System.Excelption 类型提供的制度 StackTrace 属性。 catch 块可读取该属性来获取一个堆栈跟踪,它描述了异常发生前调用了哪些方法。检查异常原因并改正代码时,这些信息很有用。访问该属性实际会调用 CLR 中的代码;该属性不是简单的放回一个字符串。构造 Exception 阅读全文
posted @ 2017-06-07 21:48 linwenda 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 异常是指成员没有完成它的名称所宣称的行动。 如 FileStream 的 方法里有 Read,Write,等等(行动成员通常用动词表示)。当行动成员不能完成任务时,就应抛出异常。 try: 如果代码需要执行一般性的资源清理操作,需要从异常中恢复,或者两者都需要,就可以放到 try 块中。负责清理的代 阅读全文
posted @ 2017-06-07 19:02 linwenda 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 装箱: 假定有一个逻辑上设为 null 的 Nuallable<int> 变量。将其传给期待一个 Object 的方法,就必须对其进行装箱,并将对已装箱 Nullable<int> 的引用传给方法。但对表面上为 null 的值进行装箱不符合直觉,即使 Nullable<int> 变量本身非 null 阅读全文
posted @ 2017-06-07 17:12 linwenda 阅读(350) 评论(0) 推荐(0) 编辑
  2017年6月5日
摘要: 委托链中所有项都会被调用,因为委托类型的 Invoke 方法包含了对数组中的所有项进行遍历的代码。这是一个很简单的算法。尽管这个简单的算法足以应付很多情形,但也有它的局限性。例如,除了最后一个返回值,其他所有回调方法的返回值都会被丢弃。但局限并不止于此。如果被调用的委托中有一个抛出了异常或阻塞了相当 阅读全文
posted @ 2017-06-05 22:11 linwenda 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 健壮性(鲁棒性)和可靠性是有区别的,两者对应的英文单词分别是 robustness 和 reliability。健壮性主要描述一个系统对于参数变化的不敏感性,而可靠性主要描述一个系统的正确性,也就是在你固定提供一个参数时,它应该是产生稳定的,能预测的输出。例如一个程序,它的设计目标是获取一个参数并输 阅读全文
posted @ 2017-06-05 21:38 linwenda 阅读(5263) 评论(0) 推荐(0) 编辑
摘要: “调用一个委托实例” 中的 “调用” 对应的是invoke,理解为 “唤出” 更恰当。它和后面的 “在一个对象上调用方法” 中的 “调用” 稍有不同,后则对应的是call。在英语的语境中,invoke 和 call 的区别在于,在执行一个所有信息都已知的方法时,用 call 比较恰当。这些信息包括要 阅读全文
posted @ 2017-06-05 20:31 linwenda 阅读(4429) 评论(0) 推荐(0) 编辑
摘要: 1、协变性是指方法能返回从委托的返回类型派生的一个类型。 2、逆变性是指方法获取的参数可以是委托的参数类型的基类。 分割线 如上面的例子,SomeMethod 的返回类型(string)派生自委托的返回类型(Object);这种协变性是允许的。SomeMethod 的参数类型(Stream)是委托的 阅读全文
posted @ 2017-06-05 20:12 linwenda 阅读(594) 评论(0) 推荐(0) 编辑
  2017年6月2日
摘要: 可用Enum的静态IsDefined判断当前的类型是否合法: 注意:IsDefined方法很方便,但必须慎用,首先IsDefined总是执行区分大小写的查找,而且完全没有办法让它不区分大小写的查找。其次,IsDefined相当慢,因为它在内部适用了反射。最后,只有在当枚举类型本身在调用IsDefin 阅读全文
posted @ 2017-06-02 21:17 linwenda 阅读(322) 评论(0) 推荐(0) 编辑