/是 Unix 和类 Unix 系统上的路径分隔符。现代 Windows 通常可以将 \和 /互换地用于文件路径,但微软几十年来一直主张使用 \作为路径分隔符。
这样做的历史原因可以追溯到20世纪70年代,比 Windows 早了10多年。起初,MS-DOS (早期 Windows 的基础)不支持目录。Unix 从一开始就支持使用 /字符的目录。然而,当目录添加到 MS-DOS 2.0,微软和 IBM 已经使用 /字符的 指令开关,并因为 DOS 的轻量级解析器(从 QDOS,设计运行在低端硬件) ,他们无法找到一个可行的方法来使用 /字符不打破与他们现有的应用程序的兼容性。
因此,为了避免在将文件路径作为参数传递给下列命令时出现“丢失开关”或“无效开关”的错误:
cd/ <---- no switch specified
dir folder1/folder2 <---- /folder2 is not a switch for dir
决定改用 \字符,因此您可以像这样编写这些命令
cd\
dir folder1\folder2
没有错误。
后来,微软和 IBM 合作开发了一个与 DOS 无关的操作系统 操作系统/2。OS/2能够同时使用两个分隔符,这可能是为了吸引更多的 Unix 开发人员。当 微软和 IBM 在1990年分道扬镳的时候,微软采用了他们已有的代码并创建了 视窗 NT,所有现代版本的 Windows 都基于 视窗 NT,带着这种分隔不可知论。
在 C # 上下文中: 值得注意的是,因为这个 是在技术上是一个 C # 问题,如果你想编写更多在 Unix 和 Windows 上都可以工作的“可移植”C # 代码(即使 C # 主要是一种 Windows 语言) ,你可能需要使用 Path.DirectorySeparatorChar字段,这样你的代码就可以在系统上使用首选的分隔符,并使用 Path.Combine()正确地附加路径。