"Path" 和 "Directory" 类 之间的差异和平均值

Differences between "Path" and "Directory" classes and means

我不明白路径和目录的区别。有人可以举例说明吗?

我正在尝试了解 类 和 system.IO 命名空间的不同之处。但在逻辑上我没有明白什么是“路径”,什么是“目录”。两者不是一回事吗?为什么他们将这两件事分成两个不同的 类?

目录更多的是一种确认或评价。例如。是否存在提供表示您感兴趣的路径的字符串的目录。再次创建目录,提供表示路径的字符串。

var myStrPath = @"C:\Users\Public\SomePath\";
if( ! Directory.Exists( myStrPath ))
   Directory.Create( myStrPath );

您还可以枚举给定的文件夹以查找更多或循环浏览它们。

var df = Directory.GetDirectories(@"C:\");
foreach (var oneFolder in df)
    MessageBox.Show(oneFolder.ToString());

但您也可以使用基于相对路径的目录。例如,如果您的程序来自 运行,您可以执行

if( Directory.Exists( "someSubFolderFromWhereRunning" ))

不用担心完全限定路径。

Path 允许您获取或操作 path/file 信息,例如上面的相对路径,并且您想知道它的完整路径,即使您不知道您的程序来自哪里 运行。在应用 运行 所在的相对目录中查找预期的启动检查文件,或者将文件写入同一工作文件夹可能会很好。

您还可以获得路径中不允许出现的不良字符列表,以便您可以在某些字符串中针对它们进行验证。

对于它们中的每一个,请查看“.”在你做类似

之后参考
var what = System.IO.Directory. [and look at the intellisense] 
var what2 = System.IO.Path.   [intellisense]

并查看上下文。在更好的上下文中看到它应该更有意义。

目录是一个磁盘文件,其中包含对其他文件的参考信息。或者简单地说,它是一个文件夹。 在 C# 中,Path 只是一个包裹在 Path Class 中的字符串,这有助于我们根据操作系统使用许多不同的约定。