Path.DirectorySeparatorChar Pole

Definice

Poskytuje znak specifický pro platformu sloužící k oddělení úrovní adresáře 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 zobrazí hodnoty polí Path v systémech Windows a Unix. Všimněte si, že Windows podporuje lomítko (které je vráceno polem AltDirectorySeparatorChar) nebo zpětné lomítko (které vrací pole DirectorySeparatorChar) jako oddělovače cest, zatímco systémy se systémem Unix 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 oba 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ě zakódování znaku oddělovače adresáře, měli byste použít znak lomítka (/). Je to jediný rozpoznaný znak oddělovače adresářů v systémech Unix, jak ukazuje výstup z příkladu, a je AltDirectorySeparatorChar na Windows.

  • Pomocí zřetězení řetězců můžete dynamicky načíst znak oddělovače cest za běhu a začlenit ho do cest systému souborů. Příklad:

    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 vlastnosti AltDirectorySeparatorChar, 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.

Platí pro

Viz také