2016-02-19 61 views
1

我需要替代列表<>類,我將有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) 
    { 

    } 
} 
+0

你想達到什麼目的? – Jay

+1

這叫做Deque。 –

+0

那麼....爲什麼不開始寫你的課,當你被卡住時要求*特定的問題?其實你的問題本身就沒有問題,我想這裏沒有人會爲你寫這個課。 –

回答

5

你可以在現場舉行List<T>的一個實例,List<T>早已這些方法。

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

完美!投票。 @Tim –

1

創建要得到正確的List<>類型的數據成員的類,並通過調用List<>數據成員適當的方法來實現你的方法。您會希望delete操作返回它們從列表中移除的對象。

這通常被稱爲適配器模式。 Wikipedia has a page on it。因爲它是一個通用類,你也可以用它爲不同類型的比int

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

+1

投票。 @ToddKnarr –

相關問題