C# 自定义泛型集合
一.原型
publicclass 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);
//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();
}
}
免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。
如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!
新励学网教育平台
海量全面 · 详细解读 · 快捷可靠
累积科普文章数:18,862,126篇