79 votes

Comment obtenir le path.combine de .NET pour convertir les barres obliques en barres obliques inverses ?

J’utilise Path.Combine comme suit :

La sortie que j’obtiens est:

Notez que la barre oblique n’est pas convertie en barre oblique inverse. Je sais que je peux faire de la ficelle. Remplacer pour le changer, mais y a-t-il une meilleure façon de le faire?

30voto

Riaan Points 672

Étant donné que votre « test1/test2 » est déjà un littéral de chaîne, Path.Combine ne changera pas le '/' pour vous en '\'.

Path.Combine ne concat que les 2 littéraux de chaîne avec le délimiteur de chemin approprié utilisé par le système d’exploitation, dans ce cas Windows, qui est '\', à partir de là votre sortie

Votre meilleur pari serait la ficelle. Remplacer.

22voto

Tim Points 704

Essayez d’utiliser la classe. Il créera des URI valides pour la machine cible correcte ( -> ``).

3voto

Robert Seder Points 808

Tout d’abord, je dirais que dans ce cas particulier, il ne serait pas déraisonnable de faire un seul . Remplacer()

Deuxièmement, vous pouvez également utiliser System.Uri pour formater votre chemin, c’est très strict. Cependant, ce sera plus de lignes qu’un simple . Remplacer(). Je vote apparemment pour que vous utilisiez simplement . Remplacez() faites-le! L’espoir qui aide

1voto

GaTechThomas Points 523

À l’aide de .NET Reflector, vous pouvez voir que Path.Combine ne modifie pas les barres obliques dans les chaînes fournies

Vous pouvez faire de même avec String.Replace et les méthodes de classe Uri pour déterminer celle qui vous convient le mieux.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X