Класс Comparer самый эффективный? - PullRequest
0 голосов
/ 19 сентября 2009

Рассмотрим следующее Список из примерно 10000 папок Из этих папок список правил определяет, соответствуют ли они критериям перехода к следующему этапу. Правила представляют собой сравнение на основе текста, так что если имя папки содержит (... любое из следующего из списка исключений) - такое, что для каждой папки существует сравнение один ко многим, но строка имени папки должна содержать (или НЕ содержать ) любая из сравниваемых строк делает

Я относительно новичок в C #, поэтому я не совсем уверен, что скрыто под каждым классом

Любой совет в каком-либо общем направлении будет принят с благодарностью.

Ответы [ 2 ]

2 голосов
/ 19 сентября 2009

У вас проблемы с производительностью или вы пытаетесь оптимизировать код до того, как он будет написан?

Класс Comparer, как правило, не самый высокопроизводительный класс в .NET Framework, но он должен обслуживать довольно много сценариев.

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

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

0 голосов
/ 19 сентября 2009

Первые из 10 K папок - это не большое число ... Так что вы можете не беспокоиться о производительности.

Так что не оптимизируйте ...

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

Для начала вам нужна причина для изменения кода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...