一.原型
public class InList
{
int[] arr = new int[10];
int index = 0;
public void Add(int param)
if (index >= arr.Length)
int[] tmp = new int[arr.Length * 2];
arr.CopyTo(tmp, 0);
arr = tmp;
}
arr[index] = param;
index++;
public int this[int index]
get
throw new Exception("索引越界");
return arr[index];
二.泛型自定義集合
/// <summary>
/// 自定義泛型類集合
/// </summary>
/// <typeparam name="T"></typeparam>
public class MyList<T>
T[] arr = new T[10];
public void Add(T param)
T[] tmp = new T[arr.Length * 2];
public T this[int index]
呼叫
class Program
static void Main(string[] args)
//InList ilist = new InList();
//ilist.Add(1);
//ilist.Add(3);
//ilist.Add(4);
//ilist.Add(7);
//Console.WriteLine(ilist[3]);
//Console.ReadKey();
MyList<int> ilist = new MyList<int>();
ilist.Add(1);
MyList<string> sList = new MyList<string>();
sList.Add("1");
//MyList1.MyList`1[System.String]
Console.WriteLine(sList.ToString());
Console.ReadKey();
一.原型
public class InList
{
int[] arr = new int[10];
int index = 0;
public void Add(int param)
{
if (index >= arr.Length)
{
int[] tmp = new int[arr.Length * 2];
arr.CopyTo(tmp, 0);
arr = tmp;
}
arr[index] = param;
index++;
}
public int this[int index]
{
get
{
if (index >= arr.Length)
{
throw new Exception("索引越界");
}
return arr[index];
}
}
}
二.泛型自定義集合
/// <summary>
/// 自定義泛型類集合
/// </summary>
/// <typeparam name="T"></typeparam>
public class MyList<T>
{
T[] arr = new T[10];
int index = 0;
public void Add(T param)
{
if (index >= arr.Length)
{
T[] tmp = new T[arr.Length * 2];
arr.CopyTo(tmp, 0);
arr = tmp;
}
arr[index] = param;
index++;
}
public T this[int index]
{
get
{
if (index >= arr.Length)
{
throw new Exception("索引越界");
}
return arr[index];
}
}
}
呼叫
class Program
{
static void Main(string[] args)
{
//InList ilist = new InList();
//ilist.Add(1);
//ilist.Add(3);
//ilist.Add(4);
//ilist.Add(7);
//Console.WriteLine(ilist[3]);
//Console.ReadKey();
MyList<int> ilist = new MyList<int>();
ilist.Add(1);
MyList<string> sList = new MyList<string>();
sList.Add("1");
//MyList1.MyList`1[System.String]
Console.WriteLine(sList.ToString());
Console.ReadKey();
}
}