• 定义集合


     
    创建自己的、强类型化的集合。一种方式是手动执行需要的方法,但这比较花时间,在某些情况下也非常复杂。我们可以从一个类中派生自己的集合,例如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接口
    怀揣着一点点梦想的年轻人
    相信技术和创新的力量
    喜欢快速反应的工作节奏
  • 相关阅读:
    python学习之strip()
    python学习之find()
    Linux scp命令
    TensorFlow学习笔记4——变量共享
    TensorFlow学习笔记 速记1——tf.nn.dropout
    TensorFlow学习笔记 补充2—— 生成特殊张量
    sublime test3 安装及配置
    TensorFlow学习笔记3——Placeholders and feed_dict
    TensorFlow学习笔记 补充1——InteractiveSession
    TensorFlow学习笔记2——数据类型及简单运算
  • 原文地址:https://www.cnblogs.com/hfliyi/p/1908083.html
Copyright © 2020-2023  润新知