专栏首页王磊的博客C#转换为String的效率测试

C#转换为String的效率测试

  今天早上突然想起转换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()会报错!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Net任意String格式转换为DateTime类型

    方式一:Convert.ToDateTime(string) Convert.ToDateTime(string) 注意:string格式有要求,必须是yyyy...

    Java中文社群-磊哥
  • SQLServer 2012重启服务后,自增1的标识列一次增长了1000左右

    sql2012我重启了下sql服务,然后自增列Id居然一下子跳了1000,怎么回事啊? 如果第一条数据是1,我重启服务,再添加就是1001,如果继续添加不重启服...

    Java中文社群-磊哥
  • 图片人脸检测——OpenCV版(二)

    Java中文社群-磊哥
  • ”电子竞技”这褒贬皆鸣的后起新兴产业,为何依然茁壮?

    说到娱乐,相信有不少人脑子里最先想到的莫过于’’游戏’’这一词,而与之息息相关也是这几年内不断茁壮成长的’’电子竞技’’。曾几和时我们能想到’’打游戏’’也能成...

    用户3526748
  • Elasticsearch(2)PHP驱动

    安装完成composer之后。我们需要安装php的类库来对Elasticsearch进行连接。

    魔王卷子
  • 让web api 4.5支持Jquery.getJson(url,handle)跨域访问

    代码片段,google了半天,找到的都是4.5 rc,或之前版本的代码,发现都不能用,正式版后有些方法做了修改。我重新修改一下分享给大家 public stat...

    阿新
  • 词典中最长的单词

    给出一个字符串数组words组成的一本英语词典。从中找出最长的一个单词,该单词是由words词典中其他单词逐步添加一个字母组成。若其中有多个可行的答案,则返回答...

    羽翰尘
  • 【深度学习】Keras vs PyTorch vs Caffe:CNN实现对比

    在当今世界,人工智能已被大多数商业运作所应用,而且由于先进的深度学习框架,它非常容易部署。这些深度学习框架提供了高级编程接口,帮助我们设计深度学习模型。使用深度...

    黄博的机器学习圈子
  • Set解决重复数据问题

    HashSet实现set接口,实际上是由hashMap实现的,所以不保证遍历顺序,并且允许使用null,时间复杂度和hashMap一样,为O(1),不超过O(n...

    HaC
  • Linux下安装gdal

    wget http://download.osgeo.org/gdal/2.0.0/gdal-2.0.0.tar.gz tar -xzvf gdal-2.0....

    卡尔曼和玻尔兹曼谁曼

扫码关注云+社区

领取腾讯云代金券