PathSeparatorフィールドを参照することで、現在の実行環境でのパス区切り文字を取得することができます。
ディレクトリ区切り文字(DirectorySeparatorChar)は単一のパス内におけるディレクトリ階層の区切りとして用いられる文字であるのに対して、パス区切り文字(PathSeparator)は複数パスを1行で記述する際の各パスの区切りとして用いられる文字を表します。 例えば環境変数PATH
で複数のパスを設定したい場合には、パスひとつひとつの間をこの文字で区切った上で連結します。 Windowsではパス区切り文字に;
、UNIX系では:
が用いられます。
Pathクラスでは複数パスを連結・分割するようなメソッドは直接提供されませんが、環境変数を扱う場合などにはこのフィールドから適切な区切り文字を取得することができます。
Path.PathSeparatorフィールドを参照して現在の環境でのパス区切り文字を取得する
using System;
using System.IO;
class Sample {
static void Main()
{
// パス区切り文字を取得
Console.WriteLine($"{nameof(Path.PathSeparator)} = {Path.PathSeparator}");
// 複数のパスを結合する
Console.WriteLine(string.Join(Path.PathSeparator, new[] { @"C:\Windows\", @"C:\Program Files\", "/usr/bin", "/sbin" }));
}
}
実行結果
PathSeparator = ; C:\Windows\;C:\Program Files\;/usr/bin;/sbin
実行結果
PathSeparator = : C:\Windows\:C:\Program Files\:/usr/bin:/sbin
環境変数を取得・設定する方法などについては、環境変数を参照してください。