泛型集合List

本文详细介绍了C#中的泛型集合List<T>,包括其定义、常用方法(如Add、Insert、Remove等)、属性(Count和Capacity)以及特点。泛型提供了类型安全和性能提升,List<T>作为动态数组,允许存储相同类型的数据,并以2倍速度扩容。此外,文章还提到了泛型的优势,如减少代码重复和增强遍历灵活性。
摘要由CSDN通过智能技术生成

概述

所谓泛型,即通过参数化类型来实现在同一份代码上操作多种数据类型,可以使用多种数据类型初始化,泛型编程是一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为灵活的复用。
C#泛型赋予了代码更强的1:类型安全(强类型)2:更好的复用3:更高的效率4:更清晰的约束
之前学习的一维数组是具有固定长度的数组集合,而泛型集合List<T>动态数组是可变的长度不受限制是以2倍的速度扩容。并且也是只能存储相同类型的数据。
这里主要学习的泛型集合是List<T>,C#中还提供了其它的泛型集合,但使用最多的还是List集合。
集合可以理解为可以存储事物的容器,如:菜篮子,里面存放的是蔬菜等,数组也是集合、List也是集合,但List<T>更是泛型集合

泛型集合List

定义

List泛型集合是在System.Collections.Generic命名空间下的。我们新建的WebForm.aspx页面默认就添加了System.Collections.Generic命名空间。
在这里插入图片描述
有了System.Collections.Generic命名空间,我们就可以使用List集合了。
List定义的基本语法如下:
List<数据类型> 集合名称=new List<数据类型>();
T表示数据类型。
如:

//定义了可以存储int类型的List集合
//可以用来存储学生的年龄
List<int> intList = new List<int>();
//定义了可以存储string类型的List集合
//可以用来存储学生姓名
List<string> strList = new List<string>();

在定义List时,只需要知道要将什么类型的数据存在List集合中就可以了。例如:我要存储学生的姓名,则T就是string类型,如果要存储价格,则T就是double。
在定义List时指定的什么类型,则该集合只能存储该类型。也就是只能存储相同类型的数据。List是引用类型,可以存储任意类型的数据。

常用的方法

其实List集合只是微软定义好的类,其中还提供了许多的方法,我们只需要学会怎么使用就可以了:

  1. Add() 向集合末尾增加元素(元素指的就是数据,)。
  2. Insert(索引,值) 向集合指定的位置添加元素。第1个参数是下标值(也称为索引值,是从0开始的),第2个是需要插入的数据值。
  3. Remove(值) 从集合中移除第一个匹配元素。
  4. RemoveAt(索引)从集合中移除指定索引位置的元素。
  5. RemoveRange(索引,长度)从集合中指定位置删除指定长度的元素。注意:删除的下标值和长度都不能超出范围,否则出错。
  6. Clear()清空集合。

常用的属性

  1. Count:获取集合中的元素个数,那么集合的最大下标值就是Count-1。
  2. Capacity:获取集合中的元素容量。List<T>集合中的容量是以2倍的速度扩容的。默认是4。
    在这里插入图片描述

特点

泛型的特点:

  1. 性能好:不需要装箱和拆箱操作。ArrayList是非泛型集合,添加数据时需要装箱。而List<T>是泛型集合,用来替换ArrayList集合的。
  2. 类型安全:在实例化List<T>时,需要指定数据类型,是强类型的。
  3. 代码重复度高:泛型可以定义一次,用许多不同的类型实例化。
  4. 遍历:即可以使用for循环,也可以使用foreach循环遍历集合中的数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值