关于泛型集合,能用则用

三,关于泛型集合,能用则用

    用Array,ArrayList,Dictionary等存储对象集合,面临的不只是拆装箱性能损耗的问题。从系统架构角度讲, 所有对象对象都应该是强类型的。为了解决这个问题,从.Net2开始,便有了泛型。看如下代码:

public class Mobile
{
         
private ArrayList friends= new ArrayList();//这里用ArrayList便不足取
         
public void Add (IFriend f)
         {
              friends.Add(f)
         }
         
private void SayBless()
        {
            
for (int i = 0; i < friends.Count; i++)
            {
                 IFriend f riend
=(IFriend )friends[i];//这里拆装时,必须知道其元素的类型是IFriend
                 friend.Say ();
            }
        }
}

    这一条小技巧的建议便是:使用泛型集合避免显式类型转换。如果您的代码中有显式转换,或者有as操作,可 能需要重新考虑一下架构。as操作符用起来看似优雅,但若用于类型转换不用也罢。

posted @ 2011-07-22 10:40  meifage2  阅读(303)  评论(0编辑  收藏  举报