2

文字列のファイル コンテンツがあり、同じコンテンツを 3 つの異なるファイルに配置する必要があります。だから、私はFile.WriteAllText()C#の機能を使ってコンテンツを最初のファイルに入れています。他の 2 つのファイルについては、次の 2 つのオプションがあります。

  1. 使用するFile.Copy(firstFile, otherFile)
  2. 使用するFile.WriteAllText(otherFile, content)

パフォーマンスに関しては、どちらのオプションが優れていますか?

4

1 に答える 1

4

ファイルが比較的小さい場合、Windows のディスク キャッシュにキャッシュされたままになる可能性が高いため、パフォーマンスの違いは小さいか、より高速になる可能性さえありFile.Copy()ます (Windows はデータが同じであることを認識し、File.Copy()Windows API を呼び出すため)これは非常に最適化されています)。

Windows のファイル キャッシュが原因でタイミングが完全にずれている可能性がありますが、本当に気にするのであれば、それを計測して時間を計る必要があります。

ただし、重要な点が 1 つありますFile.Copy()。作成時間を含むファイル属性を使用すると、コピーされます。すべてのファイルをプログラムで作成する場合、作成時間はファイル間で異なる可能性があります。

これが重要な場合は、コピー後にファイル属性をプログラムで設定して、すべてのファイルで同じになるようにすることをお勧めします。

個人的には、File.Copy().

于 2013-05-24T06:08:32.507 に答える