VB / VBA StrComp или =

что, если что-нибудь, является преимуществом использования

If StrComp(strVal1, strVal2, vbTextCompare) = 0 Then

В отличие от использования

If strVal1 = strVal2 Then

Если Option Compare Text устанавливается на уровне модуля, есть ли разница?

Я знаю, что StrComp обрабатывает нулевые сценарии и сценарии, меня интересует только ситуация, когда strVal1 и strVal2 имеют ненулевые допустимые строки.

2 ответов


Если Option Compare Text устанавливается на уровне модуля, есть ли разница?

нет. Он просто предлагает более тонкий зернистый контроль (никаких обязательств по стратегии на уровне модуля). Однако, если вы can сделайте такое обязательство, пойдите для x = y опция: меньше кода всегда лучше кода.


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