0

ディレクトリを再帰的にスキャンし、各ファイルのファイルサイズ、その他のいくつかの情報を取得し、それをすべてsqliteデータベースのテーブルに追加する小さなC#プログラムを作成しています。ただし、少し問題が発生しました-ディレクトリデータ(以下のテーブル構造)を取得し、それをリスト<クラス>に変換したいクラスは、ファイルデータ、ディレクトリデータ、およびすべてのリストを持つクラスですディレクトリの親の順番 (親、祖父母など)。

ディレクトリ テーブル:

id int
parentID int
directoryName string

どうすればこれを行うことができますか?子のリストを取得するのは簡単ですが、ディレクトリ リストを繰り返しループせずに親のリストを取得するのはかなり難しいことがわかりました。

4

2 に答える 2

1

私はそれList<Class> が使用する適切なクラスではないと思います。

Dictionary<int, Class>リストをどうするかにもよりますが、リストの順序が重要でない場合はa を使用します。それ以外のSortedDictionary<int, Class>場合は、ID で順序付けしOrderedDictionaryたい場合、または別の方法でリストを指定できるようにしたい場合は、 a を使用します。並べ替え。

于 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 に答える