Warum fügt .NET den bereits vorhandenen Schrägstrichen in einem Pfad einen zusätzlichen Schrägstrich hinzu?

9

Ich habe bemerkt, dass C # den Pfaden zusätzliche Schrägstriche ( \ ) hinzufügt. Betrachten Sie den Pfad C:\Test . Wenn ich die Zeichenfolge mit diesem Pfad in dem Textvisualisierer überprüfe, ist die tatsächliche Zeichenfolge C:\Test .

Warum ist das? Es verwirrt mich, da ich manchmal den Pfad aufteilen möchte (mit string.Split() ), aber ich muss mich fragen, welche Zeichenfolge zu verwenden ist (ein oder zwei Schrägstriche).

    
dotnetdev 28.03.2011, 22:47
quelle

4 Antworten

10

.Net fügt hier nichts zu Ihrer Zeichenfolge hinzu. Was Sie sehen, hängt davon ab, wie der Debugger Zeichenketten anzeigt. C # -Strings können in 2 Formen dargestellt werden

  • Verbatim Strings: Vorgegeben mit einem @ -Zeichen und entfernt die Notwendigkeit o escape \ characters
  • Normale Zeichenfolgen: Standard-C-Zeichenfolgen, bei denen \ -Zeichen sich selbst entziehen müssen

Der Debugger zeigt ein Zeichenfolgenliteral als normale Zeichenfolge im Vergleich zu einer wortgleichen Zeichenfolge an. Es ist jedoch nur ein Problem der Anzeige, es hat keinen Einfluss auf den zugrunde liegenden Wert.

    
JaredPar 28.03.2011, 23:29
quelle
16
___ qstnhdr ___ Warum fügt .NET den bereits vorhandenen Schrägstrichen in einem Pfad einen zusätzlichen Schrägstrich hinzu? ___ answer5465945 ___

Debugger-Visualizer zeigen Zeichenfolgen in der Form an, in der sie im C # -Code erscheinen würden. Da \ verwendet wird, um Zeichen in non-verbatum-C # -Zeichenfolgen zu entkommen, ist \ das richtige maskierte Formular.

    
___ answer5466227 ___

.Net fügt hier nichts zu Ihrer Zeichenfolge hinzu. Was Sie sehen, hängt davon ab, wie der Debugger Zeichenketten anzeigt. C # -Strings können in 2 Formen dargestellt werden

  • Verbatim Strings: Vorgegeben mit einem \ -Zeichen und entfernt die Notwendigkeit o escape \ characters
  • Normale Zeichenfolgen: Standard-C-Zeichenfolgen, bei denen \ -Zeichen sich selbst entziehen müssen

Der Debugger zeigt ein Zeichenfolgenliteral als normale Zeichenfolge im Vergleich zu einer wortgleichen Zeichenfolge an. Es ist jedoch nur ein Problem der Anzeige, es hat keinen Einfluss auf den zugrunde liegenden Wert.

    
___ answer35491630 ___

Okay, die obigen Antworten sind nicht ganz korrekt. Als solche füge ich meine Ergebnisse für die nächste Person hinzu, die diesen Beitrag liest.

Sie können eine Zeichenfolge, die einen der Zeichen in der obigen Tabelle verwendet, nicht teilen, wenn Sie die Zeichenfolge (n) von einer externen Quelle lesen.

d. h.

%Vor%

wird nicht nach diesen Zeichen aufgeteilt. Allerdings funktionieren intern erstellte Strings einwandfrei.

d. h.

%Vor%

Dies gilt möglicherweise nicht für andere Methoden zum Lesen von Text aus einer Datei. Ich bin unsicher, da ich nicht mit anderen Methoden getestet habe. In diesem Sinne ist es wahrscheinlich am besten, diese Zeichen nicht zum Abgrenzen von Strings zu verwenden!

    
___ tag123visualstudio ___ Verwenden Sie dieses Tag, wenn Sie eine bestimmte Frage zu Visual Studio-Funktionen und -Funktionen haben. Verwenden Sie dieses Tag NICHT bei Fragen zu Code, der nur zufällig in Visual Studio geschrieben wurde. Erwägen Sie, den genauen Technologiebereich zu markieren, auf den Ihre Frage verweist, und kennzeichnen Sie auch eine spezifischere Version von Visual Studio. Bitte geben Sie Ihre genaue VS-Version, Edition und Update-Ebene in Ihrer Frage an. ___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ tag123debugging ___ Debugging ist ein methodischer Prozess zum Suchen und Beheben von Fehlern in einem Computerprogramm. ** WICHTIGER HINWEIS: ** Dieses Tag ist NUR für Fragen über Debugging-Techniken oder den Debugging-Prozess gedacht, NICHT um Hilfe beim Debuggen Ihres Codes anzufordern. ___ qstntxt ___

Ich habe bemerkt, dass C # den Pfaden zusätzliche Schrägstriche ( \ ) hinzufügt. Betrachten Sie den Pfad Split . Wenn ich die Zeichenfolge mit diesem Pfad in dem Textvisualisierer überprüfe, ist die tatsächliche Zeichenfolge Split .

Warum ist das? Es verwirrt mich, da ich manchmal den Pfad aufteilen möchte (mit \ ), aber ich muss mich fragen, welche Zeichenfolge zu verwenden ist (ein oder zwei Schrägstriche).

    
___
Kelsey 28.03.2011 22:49
quelle
6

Debugger-Visualizer zeigen Zeichenfolgen in der Form an, in der sie im C # -Code erscheinen würden. Da \ verwendet wird, um Zeichen in non-verbatum-C # -Zeichenfolgen zu entkommen, ist \ das richtige maskierte Formular.

    
Jeffrey L Whitledge 28.03.2011 22:49
quelle
0

Okay, die obigen Antworten sind nicht ganz korrekt. Als solche füge ich meine Ergebnisse für die nächste Person hinzu, die diesen Beitrag liest.

Sie können eine Zeichenfolge, die einen der Zeichen in der obigen Tabelle verwendet, nicht teilen, wenn Sie die Zeichenfolge (n) von einer externen Quelle lesen.

d. h.

%Vor%

wird nicht nach diesen Zeichen aufgeteilt. Allerdings funktionieren intern erstellte Strings einwandfrei.

d. h.

%Vor%

Dies gilt möglicherweise nicht für andere Methoden zum Lesen von Text aus einer Datei. Ich bin unsicher, da ich nicht mit anderen Methoden getestet habe. In diesem Sinne ist es wahrscheinlich am besten, diese Zeichen nicht zum Abgrenzen von Strings zu verwenden!

    
Gieardia 18.02.2016 20:19
quelle

Tags und Links