我目前正在制作我自己非常基本的通用列表类(以便更好地了解预定义列表的工作原理)。我遇到的唯一问题是我无法像通常使用“System.Collections.Generic.List
”那样访问数组中的元素。
GenericList<type> list = new GenericList<type>();
list.Add(whatever);
这很好用,但在尝试访问“无论什么”时,我希望能够写出:
list[0];
但是这显然不起作用,因为我在代码中明显遗漏了一些内容,我需要将其添加到我完全正常工作的泛型类中?
答案 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; }
}