如何手动替代列表<>类

本文关键字:列表 何手动 | 更新日期: 2023-09-27 18:35:17

我需要替代List<>类,我将有4个方法...两个用于添加int项目,一个从前面,另一个从后面,两个用于删除,一个从前面,另一个从后面。我的类不应该继承任何东西。

像这样的东西...

public class MyList
{
    public void AddItemsFront(int pItem)
    {
    }
    public void AddItemsBehind(int pItem)
    {
    }
    public void DeleteItemsFront(int pItem)
    {
    }
    public void DeleteItemsBehind(int pItem)
    {
    }
}

如何手动替代列表<>类

您可以在字段中保存List<T>的实例,List<T>已经有以下方法:

public class MyList<T>
{
    private List<T> _TheList;
    public MyList()
    {
        _TheList = new List<T>();
    }
    public List<T> TheList { get { return _TheList; } set { _TheList = value; } }
    public void AddItemFront(T pItem)
    {
        TheList.Insert(0, pItem);
    }
    public void AddItemBehind(T pItem)
    {
        TheList.Add(pItem);
    }
    public void DeleteItemFront()
    {
        TheList.RemoveAt(0);
    }
    public void DeleteItemBehind()
    {
        TheList.RemoveAt(TheList.Count - 1);
    }
}

由于它是一个泛型类,您也可以将其用于与int不同的类型。

var myList = new MyList<int>();
myList.AddItemFront(1);

创建一个具有正确List<>类型的数据成员的类,并通过对List<>数据成员调用适当的方法来实现方法。您将希望delete操作返回它们从列表中删除的对象。

这通常称为适配器模式。维基百科上有一个页面。