我有一个爬虫,它按目录汇总文件类型。
就像是:
Class Directory
Property Name As String
Property TypeBreakdown As Dictionary(Of String, Integer)
Property Directories As ICollection(Of Directory)
End Class
我递归到目录并添加一个Directory
适当的。当我展开堆栈时,我想汇总子目录细分。例如。
假设Source
目录有一个.cpp
文件和 2 个子目录(SubDir
, SubDir2
),我想要这样的东西......
{
"Name": "Source",
"TypeBreakdown": {".cpp": 1, ".exe": 10, ".c": 110},
"Directories": [
{
"Name": "SubDir",
"TypeBreakdown": {".exe": 10, ".c": 10},
"Directories": [],
},
{
"Name": "SubDir2",
"TypeBreakdown": {".c": 100},
"Directories": [],
}
]
}
我正在创建各种TypeBreakdown
字典,但不确定如何组合:
如果键存在于其中一个但不是两者中,请包括键和值。如果键在两者中都存在,则包括键并对值求和。
如果没有一个非常笨拙的 for 循环来检查每个键,有什么方法可以做到这一点?
这需要在没有框架更新的情况下在 Vista 上运行,这意味着我的目标是 3.0,因此无法访问 LINQ