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 を含むソリューションは、おそらくコレクションを内部で反復処理する必要があるため、高速にはなりません。

とにかくパフォーマンスが問題になる可能性は低いので、非効率性について心配する必要はありません。

頻繁に行う場合は、テーブルを 1 回反復し、後で使用する辞書を生成するラッパーを提供できます。

于 2008-09-18T18:01:18.970 に答える