除了其他答案已经概述的可读性和维护方面的考虑之外,这个小程序将展示字符串存储选项的性能(很少)增益
void Main()
{
string p = @"d:\temp\file.txt";
string result;
Stopwatch sw = new Stopwatch();
sw.Start();
for(int i = 0; i < 100000; i++)
{
result = " " + Path.GetFileName(p) + " ";
}
sw.Stop();
Console.WriteLine("PathGetFileName:" + sw.Elapsed.ToString());
sw = new Stopwatch();
sw.Start();
string file = Path.GetFileName(p);
for(int i = 0; i < 100000; i++)
{
result = " " + file + " ";
}
sw.Stop();
Console.WriteLine("string concat:" + sw.Elapsed.ToString());
}
结果:
PathGetFileName: 205632
string concat: 65234
当然,这是微优化,不应过多考虑。
在这种情况下,代码的可读性更为重要。