0

我正在编写一个小 C# 程序以递归方式扫描目录并获取每个文件的文件大小、其他一些信息,并将其全部添加到 sqlite 数据库中的表中。但是,我遇到了一些障碍-我想获取目录数据(下面的表结构)并将其转换为 List< Class > Class 是具有文件数据、目录数据所有列表的类按顺序排列目录的父级(父级、祖父级等)。

目录表:

id int
parentID int
directoryName string

我该怎么做呢?获取孩子列表很简单,但我发现如果不反复循环遍历目录列表,获取父母列表相当困难。

4

2 回答 2

1

我认为这List<Class> 不是正确的课程。

根据您要对列表执行的操作,Dictionary<int, Class>如果您的列表顺序不重要,我会使用 a,否则SortedDictionary<int, Class>如果您希望它按 ID 排序,或者OrderedDictionary您希望能够指定不同的方式排序。

于 2013-02-06T10:04:26.840 回答
0

您可以使用DirectoryInfo.GetParent()

List<DirectoryInfo> parents = new List<DirectoryInfo>();
DirectoryInfo parent = di.Parent;
while(parent != null){
      parents.Add(parent);
      parent = di.Parent;
}
于 2013-02-06T09:37:11.347 回答