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接口
    怀揣着一点点梦想的年轻人
    相信技术和创新的力量
    喜欢快速反应的工作节奏
  • 相关阅读:
    Microsoft NNI入门
    【神经网络搜索】Efficient Neural Architecture Search
    Sphinx 快速构建工程文档
    Ubuntu16.04 Cuda11.1 Cudnn8.1 Tensorflow2.4 PyTorch1.7环境配置
    【CV中的Attention机制】ShuffleAttention
    【有趣的NAS】NAS-RL(ICLR2017)
    分类器
    将url下载到本地
    缓存管理器
    大数据数据结构-分类模型
  • 原文地址:https://www.cnblogs.com/hfliyi/p/1908083.html
Copyright © 2011-2022 走看看