Это зависит от того, что вы подразумеваете под словом «это помогает».
Идея такого кэширования заключается в том, что это будет быстрее, чем проверка выражения.Моя первая реакция на это - «это, вероятно, будет еще медленнее», но в 99% случаев такие интуитивные догадки ошибочны, поэтому давайте просто пока проигнорируем это.
Кэширование - это компромисс.Вы будете вводить накладные расходы памяти (для словаря) и затраты времени на создание словаря в надежде , что операция поиска в словаре ToString
plus будет достаточно быстрой, чем проверка того выражения, которое стоитзатраты (плюс повышенная сложность).Даже если это правда, более быстрый поиск не будет иметь значения вообще , если вы не делаете это где-то в большом цикле.Это правда в вашем случае?Если нет, то вам не стоит беспокоиться.
Теперь, если бы вы писали библиотеку общего назначения, вы бы не знали, как пользователи этой библиотеки решили использовать ее.Возможно, некоторые из них действительно будут делать такие вызовы в цикле.В этом случае может быть хорошей идеей прикрыть спину и попробовать кэшировать; но все же было бы плохим решением внедрить кэширование для маловероятного сценария, если это сделает ваш более вероятный сценарий хуже .
И, конечно, оценка того, будет ли кэшированиелучше или хуже всегда следует делать измеряя .