做C#开发总会遇到那么些令人头疼的问题,而相对于C/C++来说可能最头疼的就是性能问题。或许不能流畅到像C/C++的程序那样,但是多多注意性能问题,结合C#本身自有的优势,也是毫不逊色于其他开发语言的。
本文只列举针对C#的性能优化手段,其他的优化手段再看心情吧。
private void button2_Click(object sender, EventArgs e)
{
Stopwatch sw = new Stopwatch();
sw.Start();
for (int i = 0; i < GetMaxNum(); i++)
{
// do something.
}
sw.Stop();
Debug.WriteLine("Perf 1:" + sw.ElapsedMilliseconds);
sw.Reset();
sw.Start();
int maxNum = GetMaxNum();
for (int i = 0; i < maxNum; i++)
{
// do something;
}
sw.Stop();
Debug.WriteLine("Perf 2:" + sw.ElapsedMilliseconds);
}
private int GetMaxNum()
{
Thread.Sleep(100);
return 10;
}
执行结果:
Perf 1:1099
Perf 2:99
1. 字符串拼接问题
这是个很单纯并很实用的问题,可能已被说烂的手段:对于长文本(如读取一个txt文件