、および多くの場所で元のコードは、パスなしでファイル名を取得するために、これを使用しています。FileInfo.Name()をPath.GetFileName()に置き換える価値はありますか?私は継承されたアプリケーションにいくつかの変更を加える
string filename = "C:\path\to\abc.xyz";
FileInfo fi = new FileInfo(filename);
string newfilename = Path.Combine(otherpath, fi.Name);
ファイルかどうかをチェックする必要はありませんまたは実際のファイルの他のプロパティにアクセスする場合、フルパスの名前部分を抽出する必要があります。
これはリアルタイムアプリではありませんが、パフォーマンスは重要です。私はまだ.NETフレームワークとC#を学んでおり、FileInfo
とDirectoryInfo
オブジェクトの作成には、実行時にOSのIO負荷に依存するオーバーヘッドがあるという印象を受けています。同じ元のコードが使用される線の数十があり
string newfilename = Path.Combine(otherpath, Path.GetFileName(filename));
:
私の最初の動きは、中にそれを回すことでした。このコードの私の懸念は、創設されたIOに依存しているのですか?私の変更によってその依存関係が解消されるという前提で正しいのですか?
うわー、もういくらか嫌いです。あなた、何が問題なの? – ajeh
_Impressions_は簡単に確認または拒否することができます_measure_ – Steve
^翻訳:どうやって両方の方法で試して、実行に時間がかかるかを確認するためにいくつかのテストを実行してみませんか? –