C# VSTO 3의 단어 문서에 지정된 ID를 가진 테이블이 있는지 확인하는 방법

StackOverflow https://stackoverflow.com/questions/93506

문제

C#(VS 2008) Visual Studio Tools for Office(버전 3)의 단어 문서에 지정된 ID를 가진 테이블이 있는지 확인하고 싶습니다.

분명히 문서의 Tables 컬렉션을 반복하여 모든 ID를 확인할 수 있지만 이는 비효율적인 것 같습니다.내가 작업을 마친 후에는 문서에 수십 개의 테이블이 있게 되며, 그것이 많지 않다는 것을 알지만 컬렉션을 반복하는 것은 엉성해 보입니다.Tables 컬렉션은 테이블에 할당된 문자열 ID가 아닌 정수 ID로만 인덱싱되므로 인덱스를 사용할 수 없으며 문서 또는 테이블 컬렉션에 대한 명백한 Exists 메서드가 없습니다.

AsQueryable()을 사용하여 Tables 컬렉션을 IQueryable로 캐스팅하려고 생각했지만 ID로 쿼리할 수 있는 방식으로 이 작업을 수행하는 방법을 모르겠습니다.

문서나 샘플 코드에 대한 조언을 주시면 감사하겠습니다. 더 좋은 방법이 있다면 저도 기꺼이 응하겠습니다.

도움이 되었습니까?

해결책

나는 그것을 할 수 있는 더 좋은 방법이 없다고 생각합니다.IQueryable을 포함한 모든 솔루션은 내부적으로 컬렉션을 반복해야 하므로 더 빠르지는 않습니다.

어차피 성능에는 문제가 없을 것 같으니 비효율성은 걱정하지 않으셔도 됩니다.

이 작업을 많이 수행하는 경우 테이블을 한 번 반복하고 나중에 사용할 사전을 생성하는 래퍼를 제공할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top