泛型数据类型转换

利用泛型转换数据类型,利用Convert.ChangeType 可以转换,其核心代码如下:

Code

转换速度非常快,当然还是略慢于Type.Parse(如:int.Parse,decimal.Parse)但是朋友们很快就会发现他不提供容错处理,没有在转换错误的情况下给出默认值

没有办法只得改变一下,代码如下:

Code

虽然存在装箱与拆箱,性能上在放大到10000倍时会慢1.5~3倍,不过在我的机器上使用的时间为4ms

只是我有个疑问,都说装箱与拆箱耗费时间,不知道所说的耗费时间是个什么概念,我测试相差不是很大啊?

我的测试结果,各自运行10000次,时间 ms

1 ,我写转换函数:4.3167~7.3422

2,系统自带:3.4532~4.3453

3,int.TryParse :3.9823~4.7843

4,int.Parse:3.4565~4.4532

原文地址:https://www.cnblogs.com/lyyxjc/p/1495151.html