作业修改后

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    internal class Program
    {
        static void Main(string[] args)
        {
            myArrayList myArrayList = new myArrayList(new object[] { 1, "hello", true, 'c' });
            myArrayList.AddData(2);
            myArrayList.InsertData(1, "world");
            myArrayList.RemoveData(2);
            myArrayList.GetData(0);
            // 获取数组的长度和容量
            Console.WriteLine("当前元素数量: " + myArrayList.Count); // 输出当前元素数量
            Console.WriteLine("数组的容量: " + myArrayList.Capacity); // 输出数组的容量


        }
    }
    public class MyArrayList
    {
        public object[] obj { get; set; }
        public int Count { get { return obj.Length; } }
        public int Capacity
        
        
        { get
            
            {
               int num = obj.length / 8;
                if (obj.Length % 8!= 0)
                {
                    num *= 16;
                }
                return num;

            }
        
        }
        public MyArrayList(object[] obj)
        {
            this.obj = obj;
        }
        public void GetData(int index)
        {
            object obj1 = obj[index];
            if (obj1 is int)
            {
                int num = (int)obj1;
                Console.WriteLine(num);
            }
            else if (obj1 is string)
            {
                string str = (string)obj1;
                Console.WriteLine(str);

            }
            else if (obj1 is bool)
            {
                bool b = (bool)obj1;
                Console.WriteLine(b);
            }
            else if (obj1 is char)
            {
                char c = (char)obj1;
                Console.WriteLine(c);
            }
        }
        public void AddData(object data)
        {
            object[] newObj = new object[obj.Length + 1];
            for (int i = 0; i < obj.Length; i++)
            {
                newObj[i] = obj[i];
            }
            newObj[obj.Length] = data;
            obj = newObj;
        }
        public void InsertData(int index, object data)
        {
            object[] newObj = new object[obj.Length + 1];
            for (int i = 0; i < index; i++)
            {
                newObj[i] = obj[i];
            }
            newObj[index] = data;
            for (int i = index; i < obj.Length; i++)
            {
                newObj[i + 1] = obj[i];
            }
            obj = newObj;
        }
        public void RemoveData(int index)
        {
            object[] newObj = new object[obj.Length - 1];
            for (int i = 0; i < index; i++)
            {
                newObj[i] = obj[i];
            }
            for (int i = index + 1; i < obj.Length; i++)
            {
                newObj[i - 1] = obj[i];
            }
            obj = newObj;
        }
    }
}
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值