首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请教string这两个那个的效率高?

2013-09-24 
请问string这两个那个的效率高??代码一:string s abcint i 1string si s + i代码二:string s

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


LZ,效率是差不多的。
只不过第一个是隐式转换,第二个是显示转换。

热点排行