it-swarm.com.de

Backslash zu String hinzufügen

Ich habe einen Pfad und möchte einige neue Unterordner mit dem Namen test . Hinzufügen. Bitte helfen Sie mir, herauszufinden, wie das geht .

string path = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);
 Console.WriteLine(path+"\test");

Das Ergebnis, das ich erhalte, ist: "c:\Users\My Name\Pictures est"

Bitte helfen Sie mir, den richtigen Weg zu finden.

13
misha312

Versuchen Sie nicht, Pfadnamen zu erstellen, die Zeichenketten verketten. Verwenden Sie die Methode Path.Combine

string path = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);
Console.WriteLine(Path.Combine(path, "test"));

Die Path-Klasse enthält viele nützliche statische Methoden zum Behandeln von Zeichenfolgen, die Pfade, Dateinamen und Erweiterungen enthalten. Diese Klasse ist sehr nützlich, um viele häufig auftretende Fehler zu vermeiden, und ermöglicht auch das Codieren für eine bessere Portabilität zwischen Betriebssystemen ("\" on win, "/" unter Linux).

Die Path-Klasse ist im Namespace System.IO definiert.
Sie müssen Ihrem Code using System.IO; hinzufügen

30
Steve

Du musst entkommen. \t ist eine Escape-Sequenz für die Tabs 0x09.

path + "\\test"

oder benutze:

path + @"\test"

Besser noch, lass Path.Combine die Drecksarbeit für dich machen:

Path.Combine(path, "test");

Path befindet sich im System.IO Namespace.

20
Moo-Juice

Es gibt zwei Möglichkeiten:

  1. Verwenden Sie das @ -Symbol, z. B. Pfad + @ "\ test".
  2. verwenden Sie einen doppelten umgekehrten Schrägstrich, z. B. Pfad + "\\ test".
7
Greg Dietsche

string hinzufügen;

add += "\\"; //or :"\\" means backslash
6
trinalbadger587

Backslash '\' ist ein Escape-Zeichen für Zeichenfolgen in C #. Sie können:

  • verwenden Sie Path.Combine

    Path.Combine(path, "test");
    
  • dem Fluchtzeichen entkommen.

    Console.WriteLine(path+"\\test");
    
  • verwenden Sie das wörtliche Stringliteral.

    Console.WriteLine(path + @"\test");
    
3
tafa

der Backslash ist ein Escape-Zeichen
Console.WriteLine(path+"\\test");
oder
Console.WriteLine([email protected]"\test");

1
nitsi