2009年5月19日

用户自定义类型作为T,来实现Dictionary,HashSet时,必须重写GetHashCode 方法

摘要: 使用 Dictionary<TKey, TValue>,HashSet<T>(.NET 3.5新增) 等集合时,则必须正确重写 GetHashCode 方法,否则这些集合不能正常工作。当然,使用.NET基元类型没有任何问题. 阅读全文

posted @ 2009-05-19 03:21 imbob 阅读(461) 评论(0) 推荐(0)

foreach 仅需要类实现public IEnumerator GetEnumerator()方法而无需实现接口

摘要: foreach 用户自定义类型仅需要实现public IEnumerator GetEnumerator()方法而无需实现接口IEnumerable关于IEnumerable接口的定义 [代码] 阅读全文

posted @ 2009-05-19 02:41 imbob 阅读(1548) 评论(3) 推荐(0)

a AS B 与 (B) a 以及 对引用存储方式的假想

摘要: [代码]猜想 1 类型的方法地址是通过引用保存在栈中,所以当a=b as A 或者 a = (A)b后,引用a的栈中,只保存了A类型方法的地址.所以a.Methodb1();无效2 也不排除a引用中保存的是类型A的结构及实例入口地址,再从实例入口处找到相应方法的地址.显然第一种设想比第二种少了到堆中查询方法地址的步骤,性能要好当然1要保存方法地址,比较浪费栈的空间 阅读全文

posted @ 2009-05-19 01:35 imbob 阅读(1645) 评论(6) 推荐(0)

导航