C# · 12月 28, 2021

c# – 如何检查2个DirectoryInfo对象是否指向同一个目录?

我有2个DirectoryInfo对象,并且要检查它们是否指向同一个目录.除了比较他们的全名,还有其他更好的方法吗?请忽略链接的情况.

这是我有的

DirectoryInfo di1 = new DirectoryInfo(@”c:\temp”);DirectoryInfo di2 = new DirectoryInfo(@”C:\TEMP”);if (di1.FullName.ToUpperInvariant() == di2.FullName.ToUpperInvariant()){ // they are the same … }

谢谢.

解决方法 在Linux下,您可以比较两个文件的INode号,它们是相同的.但是Windows下没有这样的概念,至少我不知道.您需要使用p / invoke来解析链接.

比较字符串是你可以做的最好的.请注意,使用String.Compare(str1,str2,StringComparison.InvariantCultureIgnoreCase)有点快于您的方法.