当前位置:新励学网 > 秒知问答 > C# 自定义泛型集合

C# 自定义泛型集合

发表时间:2024-07-28 04:18:07 来源:网友投稿

一.原型

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();

}

}

免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。

如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!