C# はディレクトリの内容を効率的にコピーします
ディレクトリ全体の内容をコピーすることはアプリケーションでは一般的なタスクであるため、効率的で信頼性の高いソリューションを用意することが重要です。
C# の System.IO クラスではファイルとディレクトリの操作が可能ですが、再帰せずにディレクトリ全体をコピーする直接的な方法はありません。ただし、Microsoft.VisualBasic アセンブリを使用する、より洗練された方法が存在します。
Microsoft.VisualBasic によって提供される CopyDirectory メソッドは、ディレクトリのコピーを効率的に実行する方法を提供します。ソースフォルダーと宛先フォルダーを指定し、プロセス全体を処理できます。この方法は基本的なシナリオには十分ですが、回避策と見なすこともできます。
次のコード スニペットは、より包括的で効率的なソリューションを提供します。
<code class="language-csharp">private static void CopyFilesRecursively(string sourcePath, string targetPath) { //创建所有目录 foreach (string dirPath in Directory.GetDirectories(sourcePath, "*", SearchOption.AllDirectories)) { Directory.CreateDirectory(dirPath.Replace(sourcePath, targetPath)); } //复制文件并替换现有文件 foreach (string newPath in Directory.GetFiles(sourcePath, "*.*", SearchOption.AllDirectories)) { File.Copy(newPath, newPath.Replace(sourcePath, targetPath), true); } }</code>
このコードはソース ディレクトリを再帰的に走査し、ターゲット ディレクトリに必要なサブディレクトリを作成します。次に、各ファイルをコピーし、既存のファイルを同じ名前のファイルに置き換えます。このメソッドでは、ディレクトリの内容全体が忠実にコピーされるため、CopyDirectory メソッドよりも汎用性が高く信頼性の高いソリューションになります。
以上がディレクトリコンテンツをC#で効率的にコピーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。