はじめに
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("\\") を使って**「付いていなければ追加する」ロジック**を入れることで、安定した処理が実現できます。
少しでも参考になれば幸いです。
副業から独立まで「稼げる」Webスキルを習得する(PR)
ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。
「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。
このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。
講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。
副業に特化した強み
- 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
- AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
- 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。
受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。
受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。
