C# 泛型自定义集合

来源:互联网 发布:淘宝折扣app 编辑:程序博客网 时间:2024/06/08 16:56

一.原型

     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();        }    }
原创粉丝点击