Path.DirectorySeparatorChar Champ
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit un caractère spécifique à la plateforme, utilisé pour séparer les niveaux de répertoire dans une chaîne de chemin d'accès qui reflète une organisation de système de fichiers hiérarchique.
public: static initonly char DirectorySeparatorChar;
public static readonly char DirectorySeparatorChar;
staticval mutable DirectorySeparatorChar : char
Public Shared ReadOnly DirectorySeparatorChar As Char
Valeur de champ
Exemples
L’exemple suivant affiche les Path valeurs de champ sur Windows et sur les systèmes Unix. Notez que Windows prend en charge la barre oblique (qui est retournée par le AltDirectorySeparatorChar champ) ou la barre oblique inverse (retournée par le DirectorySeparatorChar champ) en tant que caractères séparateurs de chemin, tandis que les systèmes Unix prennent uniquement en charge la barre oblique.
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
Remarques
AltDirectorySeparatorChar et DirectorySeparatorChar
sont tous deux valides pour séparer les niveaux de répertoire dans une chaîne de chemin d’accès.
Lorsque vous utilisez .NET Core pour développer des applications qui s’exécutent sur plusieurs plateformes :
Si vous préférez coder en dur le caractère séparateur de répertoires, vous devez utiliser la barre oblique (
/
). Il s’agit du seul caractère de séparation de répertoire reconnu sur les systèmes Unix, comme le montre la sortie de l’exemple, et est sur AltDirectorySeparatorChar Windows.Utilisez la concaténation de chaîne pour récupérer dynamiquement le caractère séparateur de chemin d’accès au moment de l’exécution et l’incorporer dans les chemins du système de fichiers. Par exemple :
separator = Path.DirectorySeparatorChar; path = $"{separator}users{separator}user1{separator}";
separator = Path.DirectorySeparatorChar path = $"{separator}users{separator}user1{separator}"
Vous pouvez également récupérer la valeur à partir de la AltDirectorySeparatorChar propriété, car elle est la même sur les systèmes Windows et Unix.
Récupérer la AltDirectorySeparatorChar propriété
Si votre application n’est pas multiplateforme, vous pouvez utiliser le séparateur approprié pour votre système.