Jaki jest najlepszy sposób łączenia ścieżki z nazwą pliku?Jaki jest najlepszy sposób na połączenie ścieżki i nazwy pliku w C#/.NET?
To znaczy, biorąc pod uwagę c:\foo
i bar.txt
, chcę c:\foo\bar.txt
.
Biorąc pod uwagę c:\foo
i ..\bar.txt
, chcę albo błąd lub c:\foo\bar.txt
(więc nie mogę bezpośrednio użyć Path.Combine()
). Podobnie dla c:\foo
i bar/baz.txt
, chcę błąd lub c:\foo\baz.txt
(nie c:\foo\bar\baz.txt
).
Zdaję sobie sprawę, że mogę sprawdzić, czy nazwa pliku nie zawiera "\" lub "/", ale czy to wystarczy? Jeśli nie, jaka jest prawidłowa kontrola?
Dla osób mniej zaznajomionych z framework, potrzebujesz wywołania 'using System.IO;' w twoim pliku, aby uzyskać dostęp do 'Path'. –
Zauważ, że 'Path.Combine' rzuci' ArgumentNullException', jeśli którykolwiek z jego argumentów ma wartość 'null'. Ty ** możesz ** przekazać pusty ciąg do argumentu –
Uwaga: Path.Combine zwykle dodaje separator między każdą ścieżką, jeśli jest to konieczne. Jednak Path.Combine ("C:", "file.txt") zwraca "C: file.txt", co nie jest prawidłową ścieżką. – ConditionRacer