1.曾问过一个大牛:牛哥,这个代码性能是咋测的 ?
...
2.前段时间偶然发现了一个小东西,可以帮我们测试某个代码运行时间,适合菜鸟来练手。老司机请直接飞过。
这个技巧的关键是使用C#中的一个类,这个类是
3.Demo介绍
我们都知道,平时我们都是直接 使用+来连接字符串 , 字符串 可以 和字符串相加 ,字符串 也可以 直接和一个 整形数相加 。很多资料都说, 字符串在和一个整型数连接成字符串的时候要显式调用这个整型数的ToString()方法,可以提高性能 。如果你不信的话下面的代码可以验证这一点。注意,用例中我们的代码测试的循环次数是10000。别太大了,因为C#里面字符串长度是有限制的。
4.运行结果
5.代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
Stopwatch sw = new Stopwatch();
sw.Reset();
sw.Start();
string str = "";
for (int i = 0; i < 10000; i++)
{
str += i;
}
sw.Stop();
Console.WriteLine("不加ToString()运行时间 = " + sw.ElapsedMilliseconds.ToString());
sw.Reset();
sw.Start();
str = "";
for (int i = 0; i < 10000; i++)
{
str += i.ToString();
}
sw.Stop();
Console.WriteLine("加ToString()运行时间 = " + sw.ElapsedMilliseconds.ToString());
Console.WriteLine("End");
Console.ReadKey();
}
}
}
![](http://img.manew.com/data/attachment/forum/201608/11/231342o6krn5b335k3fn8s.png.thumb.jpg)
...
2.前段时间偶然发现了一个小东西,可以帮我们测试某个代码运行时间,适合菜鸟来练手。老司机请直接飞过。
这个技巧的关键是使用C#中的一个类,这个类是
![](http://img.manew.com/data/attachment/forum/201608/11/232841zycfdccy9mpyi9sm.gif)
3.Demo介绍
我们都知道,平时我们都是直接 使用+来连接字符串 , 字符串 可以 和字符串相加 ,字符串 也可以 直接和一个 整形数相加 。很多资料都说, 字符串在和一个整型数连接成字符串的时候要显式调用这个整型数的ToString()方法,可以提高性能 。如果你不信的话下面的代码可以验证这一点。注意,用例中我们的代码测试的循环次数是10000。别太大了,因为C#里面字符串长度是有限制的。
4.运行结果
![](http://img.manew.com/data/attachment/forum/201608/11/234658eohz0k1fgtkk0gi9.png.thumb.jpg)
5.代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
Stopwatch sw = new Stopwatch();
sw.Reset();
sw.Start();
string str = "";
for (int i = 0; i < 10000; i++)
{
str += i;
}
sw.Stop();
Console.WriteLine("不加ToString()运行时间 = " + sw.ElapsedMilliseconds.ToString());
sw.Reset();
sw.Start();
str = "";
for (int i = 0; i < 10000; i++)
{
str += i.ToString();
}
sw.Stop();
Console.WriteLine("加ToString()运行时间 = " + sw.ElapsedMilliseconds.ToString());
Console.WriteLine("End");
Console.ReadKey();
}
}
}