c# - Jak napisać ukośnik odwrotny (\) w ciągu?

Translate

Chcę napisać coś takiegoC:\Users\UserName\Documents\Taskswtextbox:

txtPath.Text = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)+"\Tasks";

Wyskakuje mi błąd:

Nierozpoznana sekwencja ucieczki.

Jak napisać ukośnik odwrotny w ciągu znaków?

This question and all comments follow the "Attribution Required."

Wszystkie odpowiedzi

Translate

Ukośnik odwrotny ("\") to specjalny znak zmiany znaczenia używany do oznaczenia innych znaków specjalnych, takich jak nowe wiersze (\n), zakładki (\t) lub cudzysłowy (\").

Jeśli chcesz dołączyć sam znak ukośnika odwrotnego, potrzebujesz dwóch ukośników odwrotnych lub użyj rozszerzenia@ciąg dosłowny:

var s = "\\Tasks";
// or 
var s = @"\Tasks";

PrzeczytaćDokumentacja MSDN / specyfikacja C #który omawia znaki, które są chronione za pomocą znaku ukośnika odwrotnego i użycie dosłownego literału ciągu.

Ogólniemówiąc, większość programistów C # .NET preferuje używanie@ciągi dosłowne podczas budowania ścieżek do plików / folderów, ponieważ oszczędza im to konieczności ciągłego wpisywania podwójnych ukośników odwrotnych i mogą bezpośrednio kopiować / wklejać ścieżkę, więc sugerowałbym, abyś nabrał nawyku robienia tego samego.


To wszystko powiedziawszy, w tym przypadku faktycznie zalecałbym użycie rozszerzeniaPath.Combinemetoda użytkowa jak wOdpowiedź @ lordkainponieważ wtedy nie musisz się martwić, czy odwrotne ukośniki są już uwzględnione w ścieżkach i przypadkowo podwajają ukośniki lub całkowicie je pomijają podczas łączenia części ścieżek.

Źródło
Translate

Aby uniknąć odwrotnego ukośnika, po prostu użyj 2 z nich, na przykład:\\

Jeśli chcesz uciec od innych rzeczy, może to być pomocne..

Źródło
Translate

Jest do tego stworzona specjalna funkcjaPath.Combine ()

var folder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var fullpath = path.Combine(folder,"Tasks");
Źródło
Translate

Poprzednia odpowiedź jest poprawna, ale w tym konkretnym przypadku zalecałbym użycieSystem.IO.Path.Combinemetoda.

Więcej szczegółów znajdziesz tutaj:http://msdn.microsoft.com/en-us/library/fyy7a5kt.aspx

Źródło
Nil
Translate
txtPath.Text = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)+"\\\Tasks";

Umieść podwójny lewy ukośnik zamiast pojedynczego odwrotnego ukośnika ...

Źródło
Translate

Po prostu uciec z"\"używając +"\\Tasks"lub użyj dosłownego ciągu, takiego jak@"\Tasks"

Źródło
Translate

mimo że ten post jest dość stary, próbowałem czegoś, co zadziałało w moim przypadku.

Chciałem stworzyć zmienną typu string z wartością poniżej:

21541_12_1_13\":null

więc moje podejście było takie:

  • zbuduj ciąg używając dosłownie

    string substring = @ "21541_12_1_13 \" ": null";

  • a następnie usuń niechciane ukośniki odwrotne za pomocą funkcji Usuń

    string newsubstring = substring.Remove (13, 1);

Mam nadzieję, że to pomoże. Twoje zdrowie

Źródło
Leave a Reply
You must be logged in to post a answer.
O autorze