他の回答ですでに概説されている読みやすさとメンテナンスに関する考慮事項とは別に、この小さなプログラムは、文字列保存オプションのパフォーマンスの(わずかな)向上を示します
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
もちろん、これはマイクロ最適化であり、あまり考慮すべきではありません。
この場合、コードの可読性がより重要になります。