C#用泛型,使程序更灵活,也更省性能

本文探讨了C#中使用泛型带来的性能优势和编程灵活性。通过示例代码展示了泛型如何减少类型转换的开销,并在三层架构和继承中提供便利。此外,还提及了Attribute类在实现如MVC Filter等灵活代码组装中的作用,指出这同样是提高代码性能和可维护性的有效手段。

先声明,我不是这方面的专家 

首先,类型转换是有一定开销的

我试过这样的代码:这是一个控制台应用程序的Program类的代码

 

 

运行的结果是这样:

 

00:00:00.3125000

00:00:00.2187500

请按任意键继续. . .

 

 

一亿次,就要多用0.1秒钟

 

我的机子是 CPU 2.7GHz双核, 2G内存

 

所以,为了这么细小的东西,我平时写代码,也尽量省得就省。

 

泛型我用得很多,不过都没有深入去学。不过最近在研究过,泛型都可以实例化,这给编程带来很大的方便。

同样试试下面的代码:

 

运行结果:

 

用了泛型的时间:00:00:01.5000000

不用泛型的时间:00:00:01.5156250

请按任意键继续. . .

 

你想想,如果用了泛型,那个T也可以实例化,你说这个是不是给设计带来很多便利?

以后搭三层时,就不用死写代码了,虽然有代码生成器这东西,不过我觉得,如果结合代码的一些特性来代码生成,你的代码会更加灵活。

还有一招有没试过这招

 

你想想,你写好一个BaseService后,在子类,你你这样调用父类的方法,再在里面加一些操作,这样写代码是不是更舒服,更灵活?

所以,泛型,是一个好工具。

 

还有我注意到C#有一个利器!

Attribute类。

这些类,像MVC中的Filter,好像也很灵活,想加代码,就在类上面加上一个[Attr]

还可以带参[Attr(1)]

加一些[]就可以灵活组装代码,而且好像不怎么损性能。

这个东西,我以后也会自己去研究一下,到时再发表发表。

 

望高手们多指点指点。有什么说错的,直指出来。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值