为什么要使用泛型

泛型是啥


顾名思义,就是可以放东西的集合。但是要声明一下类型。

官方的解释:泛型是具有占位符(类型参数)的类、结构、接口和方法,这些占位符是类、结构接口和方法所存储或使用的一个或多个类型的占位符。泛型集合类可以将类型参数用作它所存储的对象的类型的占位符;类型参数作为其字段的类型和其方法的参数类型出现。[msdn]

 

为什么要使用泛型


之前一直在使用Datatable用来做返回值,BLL层,DAL层,IDAL层全都是用的Datatable来做返回值,但是这样的我想知道传回来的datatable中我所需要的值是哪个,我必须要知道datatable的列名,所以说这样是不可取的。在另一方面也会比较安全,泛型里面可以装任意类型的值,所以这样就可以防止别人知道是什么类型的值。 


使用泛型的好处


泛型可以定义类型安全的数据结构(类型安全)

无须使用实际的数据类型(可扩展)

显著提高性能并得到更高质量的代码(高性能)

因为可以重用数据处理算法,而无须复制类型特定的代码(可重用)

 

来历


在C#2.0之前,一直都是使用装箱和拆箱来解决这个问题,2.0之后就出来了这个新的技术,使用泛型来解决这个问题。(装箱就是把值类型打包到object引用类型的一个实例中。拆箱就是指从对象中提取值类型。)

相对于简单的赋值而言,装箱和拆箱过程需要进行大量的计算。对值类型进行装箱时,必须分配并构造一个全新的对象。其次,拆箱所需的强制转换也需要进行大量的计算。[msdn]

 

例子


七层架构

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Geek-Banana

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

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

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

打赏作者

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

抵扣说明:

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

余额充值