摘要:
http://blog.chinaunix.net/uid-20796829-id-466658.html一个类型要想支持foreach则必须实现IEnumerable,IEnumerator两个接口。//Namespace:System.Collections,Library:BCLpublici... 阅读全文
摘要:
http://blog.csdn.net/xujinsmile/article/details/8091738汉诺塔问题的递归实现汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆... 阅读全文
摘要:
从本篇文章中,我们将从代码层面知道委托和事件的差异和用处,并且我们不会用猫和老鼠之类奇怪的比喻来混淆大家。首先,我们知道委托和事件都可以用来调用跟自己方法签名一样的方法。容易混淆大家的地方大多在于这两者之间的区别。从我们使用委托delegate和事件event上的主要有两大区别(如表1所示)。 表1... 阅读全文
摘要:
-事件是一种特殊的委托,或者说是受限制的委托,是委托一种特殊应用,只能施加+=,-=操作符。二者本质上是一个东西。-event ActionHandler Tick; // 编译成创建一个私有的委托示例, 和施加在其上的add, remove方法.-event只允许用add, remove方法来操作... 阅读全文
摘要:
CLR环境中给我们内置了几个常用委托Action、Action、Func、Predicate,一般我们要用到委托的时候,尽量不要自己再定义一个委托了,就用系统内置的这几个已经能够满足大部分的需求,且让代码符合规范。一、ActionAction封装的方法没有参数也没有返回值,声明原型为:1 publi... 阅读全文
摘要:
msdn解释如下:“协变”是指能够使用与原始指定的派生类型相比,派生程度更大的类型。“逆变”则是指能够使用派生程度更小的类型。解释的很正确,大致就是这样,不过不够直白。直白的理解:“协变”->”和谐的变”->”很自然的变化”->string->object :协变。“逆变”->”逆常的变”->”不正... 阅读全文
摘要:
.NET 3.5中委托的写法(Lambda表达式)Lambda表达式在C#中的写法是“arg-list=>expr-body”,“=>”符号左边为表达式的参数列表,右边则是表达式体(body)。参数列表可以包含0到多个参数,参数之间使用逗号分割。例如,以下便是一个使用Lambda表达式定义了委托的示... 阅读全文
摘要:
http://www.cnblogs.com/inforasc/archive/2009/10/21/1587756.html在使用BackgroundWorker组件一文中,阐述了在Winform编程中,使用BackgroundWorker组件实现异步调用,本文主要讲述利用委托实现异步。以下描述摘... 阅读全文
摘要:
As your scenes get larger, performance becomes a bigger consideration. One of the ways to manage this is to have meshes with different levels of detai... 阅读全文
摘要:
经常听说,并且经常在书上看到:值类型部署在栈上,引用类型部署在托管堆上。实际上并没有这么简单。MSDN上说:托管堆上部署了所有引用类型。这很容易理解。当创建一个应用类型变量时:object reference = new object();关键字new将在托管堆上分配内存空间,并返回一个该内存空间的... 阅读全文