我试图确定一条路是否是另一条路的孩子。
我已经尝试过:
if (Path.GetFullPath(A).StartsWith(Path.GetFullPath(B)) || Path.GetFullPath(B).StartsWith(Path.GetFullPath(A))) { /* ... do your magic ... */ }
但它不起作用。 例如,如果我编写“C: files”和“C: files baaa”,代码认为“C: files baaa”是“C: files”的子项,如果不是,则是只有C :. 当我尝试了很长的path和一些孩子,这个问题真的很重。
如何检测Windowslogin事件?
我如何才能知道给线程的实际时间片?
使用Windows C#应用程序将应用程序限制为32位体系结构
我也尝试过“如果包含”……但是在所有追逐中仍然没有真正的工作
我能做什么?
谢谢!
如何强制Dns.GetHostAddresses .NET方法只查询DNS或DNScaching?
在iis中的IP地址和域名限制通过PowerShell
如何在Windows服务中模拟时调用net.pipe(命名pipe道)WCF服务
如何获得VB.NET中Caps Lock的当前状态?
如何强制Windows重新连接到networking驱动器
尝试这个:
if (!Path.GetFullPath(A).TrimEnd(Path.DirectorySeparatorChar).Equals(Path.GetFullPath(B).TrimEnd(Path.DirectorySeparatorChar),StringComparison.CurrentCultureIgnoreCase) && (Path.GetFullPath(A).StartsWith(Path.GetFullPath(B) + Path.DirectorySeparatorChar,StringComparison.CurrentCultureIgnoreCase) || Path.GetFullPath(B).StartsWith(Path.GetFullPath(A) + Path.DirectorySeparatorChar,StringComparison.CurrentCultureIgnoreCase))) { /* ... do your magic ... */ }
C:files不是一个File ,它是一个Directory 。所以你可以试试这个:
DirectoryInfo A = new DirectoryInfo(Path.GetFullPath("firstPath")); DirectoryInfo B = new DirectoryInfo(Path.GetFullPath("secondpath")); if( B.Parent.FullName == A.FullName || A.Parent.FullName == B.FullName )
如果您不想寻找直接的亲子关系,您可以尝试:
if (Directory .GetDirectories(A.FullName,"*",SearchOption.AllDirectories) .Contains(B.FullName) || Directory .GetDirectories(B.FullName,SearchOption.AllDirectories) .Contains(A.FullName))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。