C#基础-泛型【通俗易懂】

在讲泛型之前,先说说,数组,集合各自的优缺点(都是用来存储数据的)

数组

int[] nums = new int[2];
double[] nums2 = new double[] {
    1, 2, 3 };
string[] str = {
    "张三", "李四" };

缺点
1.长度确定,一旦声明就不能更改
2.代码不能够重用,存入整数就必须定义int数组,存入小数必须定义double数组,存入字符串必须定义string数组

使用场景:如果说只是简单存储相同类型的数据,且不易改变可以用数组


数组集合

ArrayList arrayList = new ArrayList();
arrayList.Add("1");
arrayList.Add(123);

解决了代码重用的问题,里面可以放任何类型的数据

缺点:
1.类型不安全,就是什么类型都可以往里面放,会造成数据的混乱
2.效率低下,在值类型进行转换的时候,频繁的使用装拆箱操作(频繁的在堆中开辟空间)

使用场景:不建议大家使用这个,目前已经很少用它


泛型

带有<>符号的类型就是泛型

优点:
1.代码重用(<T>可以代表任何类型)
2.类型安全(只放一种类型的数据)
3.高效率(不会拆装箱)

分类:定义角度分 1.预定义(List<T>,DIctionary<TKey,TValue>),2.自定义(泛型方法,泛型类)
1.预定义:指明类型

List<int> nums = new List<int>();
nums.Add(12);

2.自定义
泛型方法:

static void Main
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值