リスト内のリストタイプの複数の階層を20〜30レベル使用する小さなアプリを作成しようとしています。私は試してみました:
System.Collections.ComponentModel.ObservableCollection
、しかし実行時に、OutOfMemoryException
エラーが発生しました。次に、Listを試してみましたが、今回はそのようなエラーは発生しませんでした。
どのタイプのコレクションが最小のスペースを消費しますか?または、このタイプの階層を実現するための良い方法は何でしょうか?コレクションが必要です。変更通知などは必要ありません。VB、Linq、およびWPFで.NET4を使用しています。Parallel.ForEach
スレッド化を使用してコードループプロセスを実現しました。
編集:プログラムは、ファイルシステムデータをSQL CE DBに文字列化し、それを取得するためのものです。したがって、階層は20〜30レベルにすることもできます。
編集:階層を取得するためのlinqを使用したクエリは約80000あります。私が使用しているデータの種類は次のとおりです。
Public Structure FileRecord
Property ID As String
Property Namee As String
Property Size As String
Property IsFolder As Boolean
Property DateModified As Date
Property FullPath As String
Property Disk As String
Property ParentID As String
Property Items As List(Of FileRecord)
End Structure