今天早上突然想起转换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 /> " );
}
{
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()会报错!
如果本文对你有所帮助,请打赏——1元就足够感动我:)
联系邮箱:intdb@qq.com
我的GitHub: https://github.com/vipstone
联系邮箱:intdb@qq.com
我的GitHub: https://github.com/vipstone
关注公众号:
作者: 王磊
出处: http://vipstone.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,请标明出处。