用 pdf 大纲填充字典
本文关键字:填充 字典 pdf | 更新日期: 2023-09-27 18:10:52
所以我正在尝试编写一个程序,该程序从已经可用的PDF列表中组合PDF文件。 到目前为止,我已经完成了大部分工作,但我有一个步骤的问题。如果这不明显,我也在用 c# 编写这个。
我有一个包含类别名称的字符串数组,对于每个类别名称,我想创建一个 PdfOutline 类型的变量,该变量初始化为 null,我可以稍后在程序中迭代。
我自己尝试研究这个问题,似乎字典是做到这一点的方法,但我真的不确定该怎么做。 首先,制作字典是正确的方法,其次我需要实施方面的帮助。
谢谢你的时间!
像下面这样的东西会起作用(没有语法检查,抱歉(:
// This requires the array of Categories to have no duplicates.
public Dictionary<string, PdfOutline> BuildUpMyCollectionOfOutlines(string[] categories)
{
return categories.ToDictionary(cat => new KeyValuePair<string, PdfOutline>(cat, null));
}
如果你这样做,那么你以后可以这样使用结果(尽管有一个函数来做到这一点是愚蠢的,这只是我向你展示如何使用它的方式(:
public PdfOutline GetOutlineByCategory(Dictionary<string, PdfOutline> outlines, string category)
{
// This will be problematic if the category isn't actually in the dictionary.
return outlines[category];
}
你是否应该使用Dictionary<string, PdfOutline>
而不是其他东西,比如List<KeyValuePair<string, PdfOutline>>
取决于1(你将拥有多少个,2(你将如何访问它们。例如,如果您有 10,000 个,并且您需要按类别名称随机重复查找它们,那么字典是正确的方法,因为它对内容进行哈希处理以便更快地搜索(想想数据库中表中的索引(。但是,如果您有 10,000 个,但只需要找到其中的 2 个,反之亦然,只有其中的 10 个,那么构建快速搜索功能的开销就会被浪费掉。因此,字典与其他的最佳答案是:"如果这是在数据库表中,您会对其进行索引吗?