.net 比较windows目录名的最佳方法

.net 比较windows目录名的最佳方法,.net,windows,directory,.net,Windows,Directory,可能重复: 我有一个文件名和一个目录名,我想确定文件是否在目录中。我的第一个想法是使用字符串比较并检查文件名字符串是否以目录名字符串开头。但是,如果目录名是UNC路径,文件名是映射驱动器,则该操作将失败。或者如果其中一个字符串中存在其他形式的别名 字符串比较似乎不是一种可靠的方法。是否有内置.NET函数来确定2个“DirectoryInfo”对象是否指向同一文件夹?您应该使用该类 类似于以下内容的操作可以实现此目的: string.Compare(Path.GetDirectoryName(f

可能重复:

我有一个文件名和一个目录名,我想确定文件是否在目录中。我的第一个想法是使用字符串比较并检查文件名字符串是否以目录名字符串开头。但是,如果目录名是UNC路径,文件名是映射驱动器,则该操作将失败。或者如果其中一个字符串中存在其他形式的别名

字符串比较似乎不是一种可靠的方法。是否有内置.NET函数来确定2个“DirectoryInfo”对象是否指向同一文件夹?

您应该使用该类

类似于以下内容的操作可以实现此目的:

string.Compare(Path.GetDirectoryName(filePath), directoryPath.Trim('\\'), true)
如果要处理相对路径,则可以先将directoryPath和filePath转换为完整路径:

string.Compare(Path.GetDirectoryName(Path.GetFullPath(filePath)), GetFullPath(directoryPath).Trim('\\'), true)

编辑:编辑以执行大小写不变的比较。

谢谢!这是我找不到合适的搜索词来找到我要找的东西的时候之一。