请问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好点
------解决方案--------------------二楼的数据说明,效率是一样的...学习了..
------解决方案--------------------