2

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

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

我想过使用 AsQueryable() 将 Tables 集合转换为 IQueryable,但我不知道如何以可以通过 ID 查询它的方式执行此操作。

指向文档或示例代码的指针将不胜感激,或者如果有更好的方法来解决它,我也完全赞成

4

1 回答 1

1

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

无论如何,性能不太可能成为问题,所以我不会担心效率低下。

如果您经常这样做,您可以提供一个包装器,该包装器对表进行一次迭代并生成一个您随后使用的字典。

于 2008-09-18T18:01:18.970 回答