如何使手动替代列表<>类 [英] How to make manual alternative to List<> class

查看:91
本文介绍了如何使手动替代列表<>类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



这样的东西...

  public class MyList 
{
public void AddItemsFront(int pItem)
{

}

public void AddItemsBehind
{

}

public void DeleteItemsFront(int pItem)
{

}
$ b b public void DeleteItemsBehind(int pItem)
{

}
}


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

  public class MyList< T& 
{
private List< T> _列表;
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);


I need to make alternative to List<> class where I will have 4 methods... Two for adding int items, one from front, other from behind and two for deleting, one from front and other from behind as well. My class should not inherit anything.

Something like this...

public class MyList
{
    public void AddItemsFront(int pItem)
    {

    }

    public void AddItemsBehind(int pItem)
    {

    }

    public void DeleteItemsFront(int pItem)
    {

    }

    public void DeleteItemsBehind(int pItem)
    {

    }
}

解决方案

You could hold an instance of a List<T> in a field, List<T> has already these methods:

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);
    }
}

Since it's a generic class you could also use it for different types than int.

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

这篇关于如何使手动替代列表&lt;&gt;类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆