随笔- 302
文章- 0
评论- 895
阅读-
78万
08 2005 档案
List小心性能损失的方法
摘要:本身我们认为List是数组之外性能最好的集合类了,但是因为他被设计为使用数字检索的类,所以请尽量避免使用对象检索位置的方法,例如:List.IndexOf(T) : Int32;List.Remove(T) : Boolean;以及其他标有IndexOf的方法。为什么尽量少用这些方法呢?因为这些方法的内部实现实际上是来一个For循环,从头到尾比较一下,运气不好的话,你每次调用都会循环整个数组。
阅读全文
.NET 2.0泛型集合类与.NET 1.1集合类的区别(三)
摘要:4、Collection和KeyedCollection我认为范型最大的受益者就是CollectionBase类了,以前为了创建一个集合类,我们需要从CollectionBase继承,并完成强类型的方法和内部拦截操作俩部分的工作,由于有了范型,所以你将不必自己再做强类型的方法这个工作了。原先的CollectionBase是一个抽象的类,而Collection现在是一个非抽象的类了,你可以直接使用他...
阅读全文
.NET 2.0泛型集合类与.NET 1.1集合类的区别(二)
摘要:.NET 2.0泛型集合类与.NET 1.1集合类的区别(一)3、接口 在接口方面改动最大的ICollection,在1.1中,ICollection是一个只读的版本,并没有任何方法可以让你修改集合中的数据,但在泛型的ICollection中增加了修改数据的方法和IsReadOnly属性,我很遗憾没有找到泛型化的只读版本的ICollection。 ICollection虽然可以修改数据,但他缺乏索...
阅读全文
.NET 2.0泛型集合类与.NET 1.1集合类的区别(一)
摘要:本文旨在阐述.NET 2.0泛型集合类与.NET 1.1集合类在使用中的区别,而不是介绍泛型的优势或者使用。这篇文章假设你已经会简单使用泛型来编程。 本文章使用.NET 2.0的2.0.50215.44版本,与正式版本可能有出入。 1、命名空间 1.1中关于集合的命名空间包括: System.Collections 常见的动态数组ArrayList、字典基础类DictionaryBase...
阅读全文
MemberInfo.GetCustomAttributes和MemberDescriptor.Attributes获取特性的不同
摘要:注:为区分Attribute和Property翻译的不同,Property翻译为属性,Attribute翻译为特性。在对对象进行反射操作时,有俩个主要的方式处理:一个是System.Reflection命名空间下的一组*Info类,一个是System.ComponentModel命名空间下的一组*Descriptor类。他们的区别可以参考MSDN的相关章节。这里讨论的是具体到MemberInfo....
阅读全文
制作帮助文档的其他选择
摘要:在.NET的帮助文档的制作中,NDoc是最常见的免费工具,他简单而且免费开源,但是当你需要更多的功能时,例如嵌入很多图片,以及加入几个单独的教程,NDoc就不够用了。这里介绍一个收费的工具,X-Document,他的网站是:http://www.innovasys.com/products/documentx.asp他支持COM和.NET,更重要的是他可以让帮助文件的修改和你的代码同步。强!(但中...
阅读全文
发现一篇关于.NET 2.0中关于事务命名空间的好文章
摘要:请参见:http://blog.joycode.com/kaneboy/archive/2005/02/15/44356.aspx
阅读全文
实现自己的配置读取器
摘要:[HostProtection(SecurityAction.LinkDemand, MayLeakOnAbort = true)] public class AddinSectionHandler : IConfigurationSectionHandler { public object Create(object parent, object context, ...
阅读全文
.NET类库中的小知识:弱引用
摘要:抱歉,这是一篇2005年的文章,当时入门。.net不久,此文有误导,正确的是:.net不使用引用计数器,文中案例的父子互相引用不会不释放,弱引用用于缓存,弱引用事件等。1、什么是弱引用? 通常情况下,一个实例如果被其他实例引用了,那么他就不会被GC回收,而弱引用的意思是,如果一个实例没有被其他实例引用(真实引用),而仅仅是被弱引用,那么他就会被GC回收。 2、弱引用的用处。 如果建立了一个类“Class人”,他有个属性 “手”。 privateClass手_手; publicClass手手{ get{return_手;} } 而在Class手,我希望能够访问“父”,就是人,例如手在收到烫伤..
阅读全文
轻量容器和注射依赖 的自实现
摘要:在上篇文章《System.ComponentModel.Component入门》中,介绍了.NET本身的解决方案,既然.NET已经有了解决方案,为什么要自己实现呢?
文章较长,点击标题预览
阅读全文
System.ComponentModel.Component入门
摘要:我们经常看见许多.NET的Class是从System.ComponentModel.Component继承过来的,他实现了System.ComponentModel.IComponent接口,而且MS也在Visual Studio .NET中,推荐你经常使用System.ComponentModel.Component作为基础类。但是很遗憾,很多人不知道为什么这样做。 MS的解释包括: 1、控制外...
阅读全文