在 UWP 中,我可以检查一个 StorageFolder 是否是另一个 StorageFolder 的父级吗?

问题描述 投票:0回答:1

我有一个应用程序可以递归管理用户选择的

StorageFolder
中的文件和文件夹(使用
FolderPicker
)。现在用户可以将多个文件夹添加到管理列表中。但是现在我的应用程序不知道用户是否可以选择另一个选择的父文件夹,这会导致重复文件。例如,他们可以选择
D:\test\subfolder
,然后选择
D:\test
(反之亦然)。

我的问题是,给定两个

StorageFolder
实例,我可以请求一个操作来检测一个实例是否是另一个实例的子文件夹吗?我在 API 文档页面中看不到任何明显的方法。


输入问题后,我想到了一种解决方法,即列出每个文件夹的内容,然后查看是否有子项与另一个匹配。我什至不确定我是否可以这样做,如果可能的话我宁愿不这样做,因为文件夹内容可能非常大(可能是整个分区)

c# .net uwp directory filesystems
1个回答
0
投票

我想你可以使用 StorageFolder.Path 来获取两个实例的路径,然后根据它你可以确定它们是否是子路由,例如:

var file1 = @"D:\test\";
var file2 = @"D:\test\subfolder";


if(file1.StartsWith(file2) || file2.StartsWith(file1)){
    Console.WriteLine("Folders are subrouted");    
}
© www.soinside.com 2019 - 2024. All rights reserved.