如何在C#VSTO 3中的Word文档中验证具有给定ID的表的存在

时间:2020-03-06 14:21:52  来源:igfitidea点击:

我想检查C(VS 2008)Visual Studio Tools for Office(版本3)中Word文档中是否存在具有给定ID的表。

显然,我可以遍历文档的Tables集合并检查每个ID,但这似乎效率不高。在我处理完该文档后,该文档最终将具有几十个表,尽管我知道还不多,但是遍历整个集合似乎很草率。 Tables集合仅由整数ID索引,而不是由分配给该表的字符串ID索引,因此我不能仅使用索引,并且文档或者表集合没有明显的Exists方法。

我曾考虑过使用AsQueryable()将Tables集合转换为IQueryable,但是我不知道该如何通过ID来查询它。

指向文档或者示例代码的指针将不胜感激,或者如果有更好的方法可以解决这些问题,我也全力以赴

解决方案

我认为没有更好的方法可以做到这一点。包括IQueryable在内的任何解决方案都可能需要在内部迭代该集合,因此不会更快。

无论如何,性能都不大可能成为问题,因此我不必担心效率低下的问题。

如果我们经常这样做,则可以提供一个包装器,该包装器在表中循环一次,并生成一个词典,供我们随后使用。