c# - 为什么有两个目录分隔符?

标签 c# .net

Path 类中,有两个用于目录分隔符的字段,Path.DirectorySeparatorCharPath.AltDirectorySeparatorChar。我知道它不是特定于 .NET 的,而是依赖于操作系统的,但我不明白为什么有两个这样的字符而不是一个。

例如只有一个Path.VolumeSeparatorChar

最佳答案

The value of this field is a backslash ('\') on UNIX, and a slash ('/') on Windows and Macintosh operating systems.

来自 MSDN system.io.path.altdirectoryseparatorchar

至于Path.VolumeSeparatorChar :

The value of this field is a colon (:) on Windows and Macintosh, and a slash (/) on UNIX operating systems. This is most useful for parsing paths such as "c:\windows" or "MacVolume:System Folder".

但是请注意,在 UNIX 上没有卷分隔符,因为设备是 mounted在挂载点的文件系统上,这是一个目录。因此,真正访问带有目录分隔符的文件,因此不会造成歧义。

关于c# - 为什么有两个目录分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50905209/

相关文章:

c# - 让 .net 远程支持 IP v4 和 v6 : how to get a stream mapped to a real ip, 不仅仅是一个参数异常

c# - 内存分配 : Stack vs Heap?

c# - 在字符串中的特定短语之前查找单词

c# - 如何在将值添加到 asp.net 之前检查列表框中是否已经存在

c# - 类型 '_Default' 已经包含一个定义

c# - 使用辅助方法创建动态 lambda

c# - 将身份资料保存在单独的数据库中

.net - 如何获取远程网络共享的磁盘使用统计信息?

c# - 事件处理程序或回调

c# - 无法调用具有很长参数列表的 WCF 服务