今天早上突然想起转换string的效率问题,于是就在百度和google查了个遍,但是似乎众说纷纭,只好自己亲自东西测试下了。
先来说说常用的方式吧:(string),Convert.ToString(),ToString().
代码如下:
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { for (int i = 0; i < 5; i++) { WorkTime(); } } } private void WorkTime() { DateTime dt1 = DateTime.Now; for (int i = 0; i < 100000000; i++) { object a = new object(); a = "abc"; //string b = Convert.ToString(a); //string b = a.ToString(); string b = (String)a; } DateTime d2 = DateTime.Now; Response.Write(d2 - dt1+"<br />"); }
逐个执行,最后结果:
(String)执行效果图:
平均1.33秒;
ToString()执行效果图:
平均1.81秒;
Convert.ToString()执行效果图:
平均2.6秒;
(String)效率最好,然后是ToString(),最后是Convert.ToString()效率最差;
最大的区别:Convert.ToString(null)不会报错,null如果ToString()会报错!
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
我来说两句