gpt4 book ai didi

c# - 为什么System.IO是这样实现的

转载 作者:太空狗 更新时间:2023-10-29 23:57:33 25 4
gpt4 key购买 nike

我花了一段时间才在我的代码中找到这个错误。尝试创建一个临时测试目录:

Path.Combine("C:", "test"); 
Directory.CreateDirectory(path);

所以这不会创建目录C:\test。似乎只是在执行程序集的本地文件夹中创建目录 test

这是因为 Path.Combine("C:", "test"); 返回 C:test,而不是 C:\test.

我并不假装对文件系统了解太多,所以可能原因很明显,但我不明白。我不确定他们为什么以这种方式实现 Path,或者为什么 CreateDirectory 不提示目录名称无效。

最佳答案

好吧,您正在组合一个驱动器号和一个名称。在 Windows 下,这意味着“该驱动器当前目录下的名称”。例如:

C:\> cd foo
c:\foo> d:
d:\> mkdir c:bar

这将创建 c:\foo\bar。因此,对我来说,它似乎与 Windows 的设计一致(回到 MS-DOS)——这不一定是 Windows 的明智设计,但 .NET 与其保持一致是有意义的。

关于c# - 为什么System.IO是这样实现的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7916012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com