代码一:       
            string s = "abc";
            int i = 1;
            string si = s + i;
代码二:
            string s = "abc";
            int i = 1;
            string si = s + i.ToString();
请问那个的效率高???
为什么????????面试的一道题!请告知

解决方案 »

  1.   

    这面试题也够无聊的。一些人总喜欢ToString(),我不明白他难道不担心ToString的对象为空?当然这个例子是值类型不会为空。但如果i是个对象呢?
      

  2.   

    我写了个测试代码:
    static void Main(string[] args)
    {
    Stopwatch sw = new Stopwatch();
    sw.Start(); for (int i = 0; i < 10000000; i++)
    {
    string s = "abc";
    string si = s + i;
    }
    sw.Stop();
    Console.WriteLine("没用ToString:" + sw.ElapsedMilliseconds);
    sw.Restart();
    for (int i = 0; i < 10000000; i++)
    {
    string s = "abc";
    string si = s + i.ToString();
    }
    sw.Stop();
    Console.WriteLine("用了ToString:" + sw.ElapsedMilliseconds);
    Console.ReadLine();
    }
    最后的运行结果:
    没用ToString:1448
    用了ToString:1366
      

  3.   

    从2楼可以知道,差不了多少,tostring好点