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接口
    怀揣着一点点梦想的年轻人
    相信技术和创新的力量
    喜欢快速反应的工作节奏
  • 相关阅读:
    召开演示会议和总结会议
    召开每天的站立会议
    禅道管理中的项目管理--组织进行任务分解
    linux sort,uniq,cut,wc命令详解
    json2.js的用途(拯救IE)
    memcache的内存回收机制
    memcache内存分配机制
    Linux之Sed命令详解(总结一些实用例子)
    CentOS 设置网络(修改IP&修改网关&修改DNS)--update.14.08.15
    php中文字符串翻转
  • 原文地址:https://www.cnblogs.com/hfliyi/p/1908083.html
Copyright © 2011-2022 走看看