日期:2014-05-17  浏览次数:21001 次

请问string这两个那个的效率高??
代码一:       
            string s = "abc";
            int i = 1;
            string si = s + i;
代码二:
            string s = "abc";
            int i = 1;
            string si = s + i.ToString();
请问那个的效率高???
为什么????????

面试的一道题!请告知

------解决方案--------------------
这面试题也够无聊的。

一些人总喜欢ToString(),我不明白他难道不担心ToString的对象为空?

当然这个例子是值类型不会为空。但如果i是个对象呢?
------解决方案--------------------
我写了个测试代码:
		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
------解决方案--------------------
效率一样高。
------解决方案--------------------
效率基本差不多
------解决方案--------------------
从2楼可以知道,差不了多少,tostring好点
------解决方案--------------------
二楼的数据说明,效率是一样的...学习了..
------解决方案--------------------