C#泛型集合

本文介绍了C#中的泛型集合,包括其基本使用方法如添加、查询、删除和修改数据,并通过一个武器类的实例展示了如何在泛型集合中进行对象操作。泛型集合提供了一种安全且灵活的方式来存储固定类型的对象,相比非泛型集合更加方便高效。
摘要由CSDN通过智能技术生成

@作者: 风不停息丶
在这里插入图片描述


🧑‍💻什么是泛型集合

  • 在C#编程语言中,集合结构有两种:泛型集合,非泛型集合。
  • 泛型集合:只能存储固定类型的对象的一种集合。
  • 要使用泛型集合,我们必须引入对应的命名空间:System.Collections.Generic
  • List< T >是一个C#内置的一个类,是类我们就可以实例化出对象。List< T >本质和数组是一样的。因为List< T >这个类的内部其实是维护了一个数组。
  • 但是List< T >比数组灵活,这个类封装了很多方便我们操作这个内部数组的各种方法,我们可以方便的对数据进行增加,删除,修改等操作,且List< T >的
  • 长度是可以动态改变的,在实例化List< T >类型对象时,不需要指定长度。

👉集合数据的基本使用

  • 增加数据: 集合名.Add ( Value) 往集合中添加数据;
  • 查询数据: 集合名[索引] 取出指定索引位置的数据;
  • 删除数据: 集合名.RemoveAt(索引) 删除指定索引位置的数据;
  • 修改数据: 集合名[索引]=新值; 给指定索引的的数据重新赋值;
			//实例化一个集合
            List<int> num = new List<int>();

            //添加数据
            num.Add(5);
            num.Add(6);
            num.Add(7);

            //读取数据
            for (int i = 0; i < num.Count; i++)
            {
                Console.WriteLine(num[i]);
            }

            //删除数据
            //删除集合第二个数(索引)
            num.RemoveAt(2);

            //修改数据
            //通过索引修改
            num[1] = 100;

👍简单实例演示

  • 创建武器类
	/// <summary>
    /// 武器类定义
    /// </summary>
    class Weapon
    {
        //字段
        private int id;
        private string name; 
        private int attack;

        //属性
        public int Id
        {
            get { return id; }
            set { id = value; }
        }
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        public int Attack
        {
            get { return attack; }
            set { attack = value; }
        }

        //初始化构造函数
        public Weapon(int id,string name,int attack)
        {
            this.id = id;
            this.name = name;
            this.attack = attack;
        }

        //输出方法
        public override string ToString()
        {
            return string.Format("id:{0} - name:{1} - attack:{2}", id, name, attack);
        }
    }
  • 使用泛型集合进行增删改查
//武器集合的定义
            List<Weapon> weapon = new List<Weapon>();

            //实例化一把武器
            Weapon item = new Weapon(1,"歼星舰",1000);
            //添加数据
            weapon.Add(item);

            //添加数据简写
            weapon.Add(new Weapon(2, "霸王枪",300));
            weapon.Add(new Weapon(2, "飞镖", 100));
            weapon.Add(new Weapon(2, "拖鞋", 10));

            //删除 
            // weapon.RemoveAt(1);//通过索引
            for (int i = 0; i < weapon.Count; i++)
            {
                if (weapon[i].Name == "拖鞋" )
                {
                    //通过名字删除对象
                    //weapon.Remove(weapon[i]);
                    //通过名字修改对象
                    weapon[i].Attack = 1;
                }
            }

在这里插入图片描述


🙌结尾

看到这篇文章的同志们可以帮我这个新人点个赞👍支持一下,谢谢!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风不停息丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值