2011-01-04 16 views
8

Czy można użyć char "//" innego, zrobiłem to? Szukałem w Path, ale nie mogę go znaleźć.C# char "//" separator ścieżek

string separato = "//"; 

Mam na myśli "/".

Użyłem: static string sep = System.IO.Path.PathSeparator.ToString(); , ale zwraca: ';'. Czemu?

+11

Niestety, sprawa nie jest jasna. Strzał w ciemność, ale czy szukasz 'Path.AltDirectorySeparatorChar'? http://msdn.microsoft.com/en-us/library/system.io.path.altdirectoryseparatorchar.aspx – Ani

+1

Dlaczego dwa ukośniki zamiast jednego? – Mehrdad

+0

Cóż, musisz użyć dwóch ukośników, lub @ "/" – PostMan

Odpowiedz

0

Jest to tylko do odczytu, nie można go zmienić. Ścieżka reprezentuje ścieżkę, którą rozumie system operacyjny, na którym działa szkielet i aplikacja. Jeśli użyjesz jakiejkolwiek innej wartości, system operacyjny go nie zrozumie. Na świecie nie ma systemu operacyjnego, który rozumie ścieżki "a // b // c". Ale możesz mieć dowolne ciągi zawierające takie ścieżki, z wyjątkiem, że nie będą one ścieżkami plików zrozumiałymi dla systemu operacyjnego i możesz je nazwać czymś innym.

+0

OS, które rozumieją/jako separator ścieżek, ignorują drugi /, więc // b // c jest taki sam jak/b/c. Próbowałem w systemie Windows Vista (w Cygwin) i Apple OS X 10.6.5. Oboje rozumieją b/c c jako a/b/c. –

25

Path.DirectorySeparatorChar daje znak używany do oddzielania galerii katalogi w ścieżce, to znaczy go używać w ścieżkach.

Path.PathSeparator daje znak używany do oddzielania ścieżki w zmiennych środowiskowych, czyli go używać między ścieżek.

Na przykład zmienna środowiskowa systemu zazwyczaj zawiera listę wielu ścieżek, w których system operacyjny będzie szukał aplikacji do uruchomienia.

W Windows Path.PathSeparator jest ; i Path.DirectorySeparatorChar jest \, dwie ścieżki będzie przechowywany w zmiennej środowiskowej tak:

set PATH="C:\first\path;C:\second\path"