2019年9月8日C#でアプリケーションを作っているとファイルパスを何かの入力として渡したり、あるいはその逆で処理した結果を特定のファイルパスに保存という場面が多々あります。ファイルパスというと何の文字を使っても良いと思われがちですが、実は使用禁止の文字があります。今回はどのような文字が使用禁止なのかと、C#でファイルパスに使用禁止の文字が含まれていないかをチェックする方法を紹介します。エラーチェックで役に立ててくださいね。戻り値サンプルソース使用する際の注意点ファイルパスに使用禁止の文字例そもそもどんな文字がファイルパスに使用禁止なのかというと、例えば以下のような文字です。”<>|他にもいくつもありますが、上記のような文字がファイルパスに含まれるとアプリケーションでファイルの処理が上手くできずにエラーが発生する場合があります。Path.GetInvalidPathCharsの文字が含まれているか確認するC#の標準ライブラリのクラスにPathというファイル処理を行っているクラスがあります。その中にGetInvalidPathCharsというメソッドがあるので、このメソッドの戻り値を使ってチェックをしましょう。();戻り値char[]型ファイル名に使用できない文字を含む配列。Console.WriteLine("path1に不正文字が見つかりました。Console.WriteLine("path2に不正文字が見つかりました。Console.WriteLine("path3に不正文字が見つかりました。0){Console.WriteLine("path1に不正文字が見つかりました。0){Console.WriteLine("path2に不正文字が見つかりました。0){Console.WriteLine("path3に不正文字が見つかりました。ZSHpath1に不正文字が見つかりました。path3に不正文字が見つかりました。12path1に不正文字が見つかりました。path3に不正文字が見つかりました。Path.GetInvalidPathCharsで不正文字の配列を取得した後、ファイルパスの文字列内に不正文字が含まれていないかをStringクラスのIndexOfメソッドを使って検索しています。不正文字が含まれている場合はコンソールへ出力します。取得するだけなので特に注意点はありません。ファイル処理する際に例外で捕捉するという人はそもそもあまりこのメソッドを使う機会は無いかもしれません。ファイル処理前に事前チェックをしたい場合のみ使ってみてはいかがでしょうか。ブロガーボムクン技術系ブログを中心とした雑記を書いています。