ホームページ > バックエンド開発 > C++ > ディレクトリコンテンツをC#で効率的にコピーするにはどうすればよいですか?

ディレクトリコンテンツをC#で効率的にコピーするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-26 19:46:10
オリジナル
314 人が閲覧しました

How Can I Efficiently Copy Directory Contents in C#?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート