今天用List的时候突然想到。List在C#内部究竟是如何实现的
为什么可以动态增删元素,而数组不行,查了一下相关资料,发现大家实现的方式各不相同。
于是自己用了数组的方式实现了一个List
具体是实现方式其实数组也没有动态的变换长度,而是感觉用了一个障眼法的样子。弄了一个最大的容量和当前数组有效的长度
class MyList<T>
{
private T[] myArray;
private int size; //当前长度
private int capacity; //最大容量
public int Count { get { return size; } } //长度计数
public T this[int index] //索引器
{