c#中的泛型列表类

时间:2013-02-19 16:24:31

标签: c# generics generic-list

我目前正在制作我自己非常基本的通用列表类(以便更好地了解预定义列表的工作原理)。我遇到的唯一问题是我无法像通常使用“System.Collections.Generic.List”那样访问数组中的元素。

GenericList<type> list = new GenericList<type>();
list.Add(whatever);

这很好用,但在尝试访问“无论什么”时,我希望能够写出

list[0];

但是这显然不起作用,因为我在代码中明显遗漏了一些内容,我需要将其添加到我完全正常工作的泛型类中?

2 个答案:

答案 0 :(得分:12)

它被称为indexer,如下所示:

public T this[int i]
{
    get
    {
        return array[i];
    }
    set
    {
        array[i] = value;
    }
}

答案 1 :(得分:1)

我认为你需要做的只是实现IList<T>,以获得所有基本功能

  public interface IList<T>  
  {

    int IndexOf(T item);

    void Insert(int index, T item);

    void RemoveAt(int index);

    T this[int index] { get; set; }
  }