【C#】取得したフォルダパスの末尾に「¥(バックスラッシュ)」を自動で付ける方法

目次

はじめに

C#でフォルダパスを取得する際、FolderBrowserDialogを使って選択されたパスを受け取ることは簡単にできます。
しかし、プログラムでそのパスを処理しようとしたときに、末尾に「¥」が付いていないためにうまく動作しないというケースがありました。

私自身もこの問題に直面し、「あらかじめ末尾にバックスラッシュを付ける方法はないか」と考えて、実装してみました。


実現したいこと

  • フォルダ選択ダイアログで取得したパスの末尾に、必ず「¥(バックスラッシュ)」が付いている状態にする
  • 「すでに付いている場合は何もしない」という処理も含めたい

使用する構文:EndsWith("\\")

C#では、文字列の末尾を判定する際に EndsWith() メソッドが使えます。
この関数を使って、「バックスラッシュが付いていないときだけ追加する」ように実装します。


実際のコード

以下が、ボタンを押したときにフォルダパスを取得して末尾に「¥」を自動で追加するサンプルコードです。

private void btn_choose_path_Click(object sender, EventArgs e)
{
    FolderBrowserDialog dialog = new FolderBrowserDialog();
    if (dialog.ShowDialog() == DialogResult.OK)
    {
        string path = dialog.SelectedPath;

        // パスの末尾に「¥」がない場合に追加する
        if (!path.EndsWith("\\"))
        {
            path += "\\";
        }

        txtBox_folder.Text = path;
    }
}

コードの解説

  • dialog.SelectedPath
     → フォルダ選択ダイアログから取得したパスです
  • if (!path.EndsWith("\\"))
     → 末尾が「¥(バックスラッシュ)」で終わっていないかどうかを確認しています
  • path += "\\";
     → 必要に応じて「¥」を追加しています

注意点:「¥」と「\」の違い

日本語で「¥」と表示される記号は、プログラム上では「バックスラッシュ(\\)」です。
C#では、バックスラッシュはエスケープ文字としても使われるため、文字列として「¥」を表現したい場合には "\\" と2重に記述する必要があります。


まとめ

C#でフォルダパスを扱う際には、末尾にバックスラッシュがないとファイル結合処理などでエラーや誤動作の原因になります。

このように、EndsWith("\\") を使って**「付いていなければ追加する」ロジック**を入れることで、安定した処理が実現できます。

少しでも参考になれば幸いです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次