11 Stimme

C#/.NET: Backslash am Ende eines Pfads sicherstellen

Frage von CSchaf | 06.09.2014 um 17:16

Ich habe in meinem Programm einen String, der den Pfad zu einem Ordner beinhaltet (also zum Beispiel C:\Ordner\). Aus diesem String soll später ein Dateipfad generiert werden (zum Beispiel C:\Ordner\Datei.txt).

Damit das gelingt, muss natürlich sichergestellt werden, dass sich ein Backslash (\) am Ende des Ordner-Strings befindet, sonst erhalte ich ja einen falschen Dateipfad wie zum Beispiel C:\OrdnerDatei.txt.

Aus anderen Programmiersprachen kenne ich Funktionen wie IncludeTrailingBackslash oder IncludeTrailingPathDelimiter. Gibt es so etwas ähnliches auch in C# (C-Sharp, .NET Framework)?

AntwortenPositivNegativDatumStimmen
2Beste Antwort2 Stimmen

Eine direkte Standardfunktion für dieses Vorhaben ist mir nicht direkt bekannt. Allerdings könnte die folgende Methode weiterhelfen:

string pfad = @"C:\Ordner";

pfad.TrimEnd("\\") + "\\".

Mit TrimEnd entfernst du zuerst einen möglichen Backslash am Ende und fügt dann einen neuen hinzu. 

Hatte der Pfad am Anfang noch keinen Backslash am Ende, hat TrimEnd keine Auswirkung und in jedem Fall steht anschließend nur noch ein Backslash am Ende des Strings.

Statt "\\" könntest du übrigens auch die Konstante Path.DirectorySeparatorChar verwenden, denn der Pfad-Delimiter ist nicht auf jedem System der Backslash.
06.09.2014 um 17:53

AntwortenPositiv Negativ
00 Stimmen

Man könnte auch einfach

Path.Combine("string1", "string2", "string3"...); 

verwenden, die Pfadseparatoren werden automatisch gesetzt...
13.10.2016 um 15:08

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Kostenlose Hörbücher

Tipp | 2 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.