Как проверить существование таблицы с заданным идентификатором в слове doc в C # VSTO 3 - PullRequest
2 голосов
/ 18 сентября 2008

Я хочу проверить наличие таблицы с заданным идентификатором в текстовом документе в C # (VS 2008) Visual Studio Tools for Office (версия 3).

Очевидно, что я могу перебирать коллекцию таблиц документа и проверять каждый идентификатор, но это кажется неэффективным; документ закончится несколькими десятками таблиц после того, как я закончу с ним, и, хотя я знаю, что это не так уж и много, цикл по коллекции кажется небрежным. Коллекция таблиц индексируется только по целочисленному идентификатору, а не по строковому идентификатору, назначенному таблице, поэтому я не могу просто использовать индекс, и нет очевидного метода Exists для документа или коллекции таблиц.

Я думал о приведении коллекции Tables к IQueryable с использованием AsQueryable (), но я не знаю, как это сделать, чтобы я мог запросить его по ID.

Буду признателен за указатели на документы или примеры кода, или, если есть лучший способ сделать это, я тоже за это все

1 Ответ

1 голос
/ 18 сентября 2008

Я не думаю, что есть лучший способ сделать это. Предполагается, что любое решение, включая IQueryable, потребует внутренней итерации коллекции, поэтому не будет быстрее.

Производительность вряд ли будет проблемой в любом случае, поэтому я не буду беспокоиться о неэффективности.

Если вы делаете это много, вы можете предоставить оболочку, которая итерирует один раз по таблицам и генерирует словарь, который вы впоследствии используете.

...