我正在编写一个程序,将所有文件和目录从源位置复制到目标位置。这两个位置均由用户提供。
我只是考虑检查位置路径末尾是否有反斜杠“\”,当我决定运行一些测试时,如果你告诉c#
,我认为这并不重要File.Copy("C:\\test", "D:\\test")`
或
File.Copy("C:\\test\\", "D:\\test\\")`
我错了吗?文件路径末尾的反斜杠是否重要?
答案 0 :(得分:4)
更新:
在Windows上,您显然无法将文件和文件夹命名为相同,因此无关紧要。你仍然应该使用(背面)斜线来获得良好的风格和跨平台的兼容性。某些软件或库甚至可能依赖它。
原始答案:
文件夹通常以\
(或/
)结尾,因为可能有一个没有扩展名的文件,名为test
。例如,这两个可以共存(Linux [注意不同的大写]):
文件夹:/Users/nikxda/Docouments/Test/
档案:/Users/nikxda/Docouments/test
如果您的工作区分大小写,那么您实际上可以在Windows上忽略它。我仍然建议使用尾部斜杠,仅用于
所以是的,如果引用文件夹,你应该总是在路径的末尾使用(后退)斜杠。
答案 1 :(得分:1)
它应该没有区别,因为 - 在Windows上 - 你不能有一个文件夹" test"和文件名为" test"同时在同一个父目录中没有扩展名。
但是,在代码中使用尾部反斜杠会更加清晰,因为这样就不会有任何猜测的余地。而且对于跨平台的目的来说也会更好。
例如,考虑到URI,顺便说一句,它绝对可以在尾部斜杠或没有尾部斜杠之间产生差异。
TLDR:请使用尾随(后退)斜杠: - )