zoukankan      html  css  js  c++  java
  • 定义集合

     
    创建自己的、强类型化的集合。一种方式是手动执行需要的方法,但这比较花时间,在某些情况下也非常复杂。我们可以从一个类中派生自己的集合,例如System.Collections.CollectionBase类,这个抽象类提供了集合类的许多实现方式。
     CollectionBase类有接口 IEnumerable、ICollection和IList,但只提供了一些要求的执行的代码,特别是ILIST的Clear()和RemoveAt()的方法,以及ICollection的Count属性。如果要使用提供的功能,就需要自己执行其他代码。
    CollectionBase提供了两个受保护的属性,它们可以访问存储的对象本身,我们可以使用List和InnerList,List可以通过IList接口访问项,InnerList则是用于存储项的ArrayLIst对象。
     
    代码
    public class Animal
    {
    private string name;
    public string Name
    {
    get { return name; }
    set { name = value; }
    }
    public Animal()
    {
    }
    public Animal(string newName)
    {
    name
    = newName;
    }
    public override string ToString()
    {
    return name;

    }
    }
    public class Animals : CollectionBase
    {
    public void Add(Animal newAnimal)
    {
    List.Add(newAnimal);
    }
    public void Remove(Animal oldAnimal)
    {
    List.Remove(oldAnimal);
    }
    public Animals()
    {
    }
    }
     其中,Add和Remove方法实现为强类型的方法,使用ILIST接口中用于访问项的标准Add方法。
    CollectionBase类可以对派生的集合使用foreach语法,以为他实现IEnumerable接口
    怀揣着一点点梦想的年轻人
    相信技术和创新的力量
    喜欢快速反应的工作节奏
  • 相关阅读:
    flask项目部署
    FastDFS分布式文件系统
    《app》团队冲刺二
    《APP》团队开发一
    软工二年级团队项目----自律小助手
    团队项目新闻app的需求分析
    团队成员及团队项目
    团队冲刺第八天
    团队冲刺第七天
    团队冲刺第六天
  • 原文地址:https://www.cnblogs.com/hfliyi/p/1908083.html
Copyright © 2011-2022 走看看