Unity学习(C#)——使用泛型索引器创建自己的集合类

本文介绍了如何在Unity中利用C#语言的泛型和索引器特性,创建一个自定义的集合类,以提高代码的灵活性和复用性。通过泛型,我们可以确保集合类能容纳不同类型的元素,而索引器则提供了类似数组的访问方式。
namespace _620使用泛型索引器创建自己的List
{
   
   
   // class MyList<T>:
    class MyList<T>where T:IComparable//为了可以比较,表示T是继承自可以比较的接口
    {
   
   
        private T[] array;
        private int count;//添加元素的个数
        public MyList(int size)
        {
   
   
            if (size >= 0)
            {
   
   
                array = new T[size];
            }
        }
        public MyList()
        {
   
   
            array = new T[0];
        }
        public int Capacity//数组长度统计
        {
   
   
            get
            {
   
    return array.Length; }
        }
        public int Count//元素个数统计
        {
   
   
            get {
   
    return count; }
        }
        public void Add(T item)//列表中数据的添加
        {
   
   
            if (Count == Capacity)//容量和个数一样大
            {
   
   
                if(Capacity==0)
                {
   
   
                    array=new T[4];//当数组长度为0时,创建长度为4的数组
                }
                else
                {
   
   
                    var newArray = new T[Capacity * 2];//不够长的时候,创建长度为原来两倍的数组。
                    Array.Copy(array, newArray, Count);//函数意思是从array中第一个开始,拷贝Count个数到newArray中。把旧数组中元素转到新数组
                    arr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值