Path.DirectorySeparatorChar Pole
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje znak specifický pro platformu, který slouží k oddělení úrovní adresářů v řetězci cesty, který odráží hierarchickou organizaci systému souborů.
public: static initonly char DirectorySeparatorChar;
public static readonly char DirectorySeparatorChar;
staticval mutable DirectorySeparatorChar : char
Public Shared ReadOnly DirectorySeparatorChar As Char
Hodnota pole
Příklady
Následující příklad zobrazuje Path hodnoty polí v systémech Windows a Unix. Všimněte si, že systém Windows podporuje buď lomítko (které je vráceno polem AltDirectorySeparatorChar ) nebo zpětné lomítko (které je vráceno polem DirectorySeparatorChar ) jako znaky oddělovače cesty, zatímco unixové systémy podporují pouze lomítko.
using System;
using System.IO;
class Program
{
static void Main()
{
Console.WriteLine($"Path.DirectorySeparatorChar: '{Path.DirectorySeparatorChar}'");
Console.WriteLine($"Path.AltDirectorySeparatorChar: '{Path.AltDirectorySeparatorChar}'");
Console.WriteLine($"Path.PathSeparator: '{Path.PathSeparator}'");
Console.WriteLine($"Path.VolumeSeparatorChar: '{Path.VolumeSeparatorChar}'");
var invalidChars = Path.GetInvalidPathChars();
Console.WriteLine($"Path.GetInvalidPathChars:");
for (int ctr = 0; ctr < invalidChars.Length; ctr++)
{
Console.Write($" U+{Convert.ToUInt16(invalidChars[ctr]):X4} ");
if ((ctr + 1) % 10 == 0) Console.WriteLine();
}
Console.WriteLine();
}
}
// The example displays the following output when run on a Windows system:
// Path.DirectorySeparatorChar: '\'
// Path.AltDirectorySeparatorChar: '/'
// Path.PathSeparator: ';'
// Path.VolumeSeparatorChar: ':'
// Path.GetInvalidPathChars:
// U+007C) U+0000) U+0001) U+0002) U+0003) U+0004) U+0005) U+0006) U+0007) U+0008)
// U+0009) U+000A) U+000B) U+000C) U+000D) U+000E) U+000F) U+0010) U+0011) U+0012)
// U+0013) U+0014) U+0015) U+0016) U+0017) U+0018) U+0019) U+001A) U+001B) U+001C)
// U+001D) U+001E) U+001F)
//
// The example displays the following output when run on a Linux system:
// Path.DirectorySeparatorChar: '/'
// Path.AltDirectorySeparatorChar: '/'
// Path.PathSeparator: ':'
// Path.VolumeSeparatorChar: '/'
// Path.GetInvalidPathChars:
// U+0000
Imports System.IO
Module Program
Sub Main()
Console.WriteLine($"Path.DirectorySeparatorChar: '{Path.DirectorySeparatorChar}'")
Console.WriteLine($"Path.AltDirectorySeparatorChar: '{Path.AltDirectorySeparatorChar}'")
Console.WriteLine($"Path.PathSeparator: '{Path.PathSeparator}'")
Console.WriteLine($"Path.VolumeSeparatorChar: '{Path.VolumeSeparatorChar}'")
Dim invalidChars = Path.GetInvalidPathChars()
Console.WriteLine($"Path.GetInvalidPathChars:")
For ctr As Integer = 0 To invalidChars.Length - 1
Console.Write($" U+{Convert.ToUInt16(invalidChars(ctr)):X4} ")
if (ctr + 1) Mod 10 = 0 Then Console.WriteLine()
Next
Console.WriteLine()
Console.WriteLine("Hello World!")
End Sub
End Module
' The example displays the following output when run on a Windows system:
' Path.DirectorySeparatorChar: '\'
' Path.AltDirectorySeparatorChar: '/'
' Path.PathSeparator: ';'
' Path.VolumeSeparatorChar: ':'
' Path.GetInvalidPathChars:
' U+007C) U+0000) U+0001) U+0002) U+0003) U+0004) U+0005) U+0006) U+0007) U+0008)
' U+0009) U+000A) U+000B) U+000C) U+000D) U+000E) U+000F) U+0010) U+0011) U+0012)
' U+0013) U+0014) U+0015) U+0016) U+0017) U+0018) U+0019) U+001A) U+001B) U+001C)
' U+001D) U+001E) U+001F)
'
' The example displays the following output when run on a Linux system:
' Path.DirectorySeparatorChar: '/'
' Path.AltDirectorySeparatorChar: '/'
' Path.PathSeparator: ':'
' Path.VolumeSeparatorChar: '/'
' Path.GetInvalidPathChars:
' U+0000
Poznámky
AltDirectorySeparatorChar a DirectorySeparatorChar
jsou platné pro oddělení úrovní adresáře v řetězci cesty.
Pokud používáte .NET Core k vývoji aplikací, které běží na více platformách:
Pokud dáváte přednost pevnému kódování znaku oddělovače adresářů, měli byste použít znak lomítka (
/
). Je to jediný rozpoznaný znak oddělovače adresářů v unixových systémech, jak ukazuje výstup z příkladu, a je to znak ve AltDirectorySeparatorChar Windows.Použijte zřetězení řetězců k dynamickému načtení znaku oddělovače cesty za běhu a jeho začlenění do cest systému souborů. Třeba
separator = Path.DirectorySeparatorChar; path = $"{separator}users{separator}user1{separator}";
separator = Path.DirectorySeparatorChar path = $"{separator}users{separator}user1{separator}"
Hodnotu můžete také načíst z AltDirectorySeparatorChar vlastnosti , protože je stejná v systémech Windows i Unix.
AltDirectorySeparatorChar Načtení vlastnosti
Pokud vaše aplikace není multiplatformní, můžete použít oddělovač vhodný pro váš systém.