Как проверить существование таблицы с заданным идентификатором в текстовом документе в C # VSTO 3

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

Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top