C# 自定义泛型集合

297次

问题描述:

#定义泛型数组

推荐答案

2023-10-24 12:28:11

一.原型

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

}

}

知道问答相关问答

(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6